diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/FACILITATOR.md b/active/evm/tasks/2026-09-14-cobalt-upgrade/FACILITATOR.md index acd4e8663..8b221908b 100644 --- a/active/evm/tasks/2026-09-14-cobalt-upgrade/FACILITATOR.md +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/FACILITATOR.md @@ -1,12 +1,14 @@ # Cobalt Upgrade — Facilitator Guide -This task delivers the three Cobalt L1 changes in a single ProxyAdmin-owner transaction: +This task delivers the three Cobalt L1 changes in a single ProxyAdmin-owner transaction. +On Sepolia it also folds in the hinted Nitro TEE registry cutover as a sixth call: -| Cobalt change | Contracts touched | +| Change | Contracts touched | | --- | --- | | Dynamic upgrades | `ProtocolVersions` (new proxy + implementation), `AggregateVerifier` (redeployed to bind it) | | EthLockbox removal | `OptimismPortal2`, `SystemConfig` | | CREATE2 for dispute games | `DisputeGameFactory` | +| Hinted Nitro TEE cutover (Sepolia) | `TEEProverRegistry` proxy, plus EOA-deployed `P384Verifier` / `CertManager` / `NitroValidator` | Replace `` with the network you are rolling out, for example `zeronet`. Every command requires `TASK_NETWORK` explicitly — there is no default. Run everything from this directory @@ -18,8 +20,9 @@ requires `TASK_NETWORK` explicitly — there is no default. Run everything from make TASK_NETWORK= deps ``` -This pins `base/contracts` at `BASE_CONTRACTS_COMMIT`, installs the extra OpenZeppelin and solmate -dependencies that building those sources requires, and applies `patch/max-gas-limit.patch`. +This pins `base/contracts` at `BASE_CONTRACTS_COMMIT`, installs the extra OpenZeppelin, solmate, +and `nitro-validator` dependencies that building those sources requires, and applies +`patch/max-gas-limit.patch`. The patch matters. Zeronet runs a `SystemConfig` that raises `MAX_GAS_LIMIT` to 2,000,000,000, and Cobalt modifies `SystemConfig`. Deploying a stock build would quietly drop the chain back to @@ -48,15 +51,16 @@ Open `config//.env` and confirm every value, in particular: live proxies before building any calls, so a stale value stops the task rather than upgrading from an unexpected base. - `AGGREGATE_VERIFIER_TEE_IMAGE_HASH`, `AGGREGATE_VERIFIER_ZK_RANGE_HASH` and - `AGGREGATE_VERIFIER_ZK_AGGREGATE_HASH` — the proof program hashes, built from the Base node - release these games prove against, which for Zeronet is - [`releases/v1.4.0`](https://github.com/base/base/tree/releases/v1.4.0). The TEE value is PCR0 of - the Nitro enclave image; the two ZK values are the SP1 range and aggregation verification keys - from `just succinct vkeys --build`. The `.env` comment records how each is produced, so they can - be regenerated from that ref rather than taken on trust. They ship blank and the deploy script - refuses to run until they are filled in. Every other `AggregateVerifier` constructor argument, - including the config hash and the block intervals, is read back from the live implementation at - deploy time, so the redeploy cannot change them. + `AGGREGATE_VERIFIER_ZK_AGGREGATE_HASH` — all three rotate for Cobalt. The TEE value is PCR0 of + the Nitro enclave; the ZK values are the SP1 keys from `just succinct vkeys --build`. Zeronet and + Sepolia use the same values from + [`releases/v1.4.0`](https://github.com/base/base/tree/releases/v1.4.0). The deploy script refuses a + zero hash or a hash that still matches the live verifier. Every other `AggregateVerifier` + constructor argument is read back from the live implementation at deploy time. +- Sepolia TEE anchors — `OLD_TEE_PROVER_REGISTRY_IMPL`, `OLD_NITRO_VERIFIER`, + `CERT_MANAGER_OWNER`, and `CERT_MANAGER_REVOKER`. Re-check the live registry implementation + and `NITRO_VERIFIER()` before deploying. `ExecuteCobaltUpgrade` only emits the sixth call + when `NEW_TEE_PROVER_REGISTRY_IMPL` is present in `addresses.json`. ## 3. Deploy @@ -83,8 +87,31 @@ VERIFIER_API_KEY= make TASK_NETWORK= verify-core VERIFIER_API_KEY= make TASK_NETWORK= verify-proofs ``` +On Sepolia, also deploy the hinted Nitro stack. These targets are not part of `make deploy`, +so a Zeronet re-run cannot accidentally redeploy them: + +```bash +make TASK_NETWORK=sepolia deploy-nitro-validator +VERIFIER_API_KEY= make TASK_NETWORK=sepolia verify-nitro-validator +make TASK_NETWORK=sepolia deploy-tee-registry-impl +VERIFIER_API_KEY= make TASK_NETWORK=sepolia verify-tee-registry-impl +``` + +This writes `p384Verifier`, `certManager`, `nitroValidator`, and `teeProverRegistryImpl` into +`config/sepolia/addresses.json` without overwriting the Cobalt addresses. + Commit `config//addresses.json` and the `records/` broadcast artifacts. +Before generating Sepolia validations, register the new-PCR0 Cobalt enclaves on the live `0.5.0` +registry. Call 5 rotates `TEE_IMAGE_HASH`, so only those signers stay valid after execute. +`signerImageHash` is storage and survives the implementation swap. + +Then migrate the offchain registrar to signer `0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3` and keep +`BASE_REGISTRAR_CRL_NITRO_VERIFIER_ADDRESS` so AWS CRL checks still work. Stop the old registrar +immediately before `execute`. There is no standalone TEE rollback in this task: a failed cutover +means rolling the whole Cobalt bundle back. After execute, start the migrated registrar and rotate +one enclave first. + ## 4. Generate validation files ```bash @@ -93,6 +120,13 @@ make TASK_NETWORK= gen-validation-sc ``` These write `config//validations/base-signer.json` and `security-council-signer.json`. +For Sepolia (and any non-mainnet rollout) remove each generated `taskOriginConfig` and add this +root field: + +```json +"skipTaskOriginValidation": true +``` + Commit them, then set the `config//README.md` status to `READY TO SIGN` and share it with signers. @@ -112,7 +146,7 @@ than land a partial upgrade. ## What the upgrade transaction does -Five calls, all from the ProxyAdmin owner Safe: +Five calls on Zeronet, six on Sepolia, all from the ProxyAdmin owner Safe: 1. `ProxyAdmin.upgradeAndCall(protocolVersionsProxy, protocolVersionsImpl, initialize(...))` — `initialize` is `reinitializer(1)` on a never-initialized proxy, so it must be bundled with the @@ -121,16 +155,22 @@ Five calls, all from the ProxyAdmin owner Safe: 3. `ProxyAdmin.upgrade(systemConfig, newImpl)` 4. `ProxyAdmin.upgrade(disputeGameFactory, newImpl)` 5. `DisputeGameFactory.setImplementation(621, newAggregateVerifier)` +6. `ProxyAdmin.upgrade(teeProverRegistryProxy, newTeeProverRegistryImpl)` — Sepolia only, when + `NEW_TEE_PROVER_REGISTRY_IMPL` is set. Storage (owners, signers, per-signer image hashes, + proposers, game type) is unchanged; only the implementation and nitro wiring change. Call 5 + does rotate the expected TEE image hash, because the registry reads it from the new + AggregateVerifier. -Calls 2–4 are bare upgrades: none of those implementations adds state or bumps its init version, so -there is nothing to reinitialize. +Calls 2–4 and 6 are bare upgrades: none of those implementations adds state or bumps its init +version, so there is nothing to reinitialize. ## Worth re-checking before signing - **Every changed contract bumps its version.** `OptimismPortal2` goes `5.2.0` -> `6.0.0`, `DisputeGameFactory` `1.4.0` -> `1.5.0`, `AggregateVerifier` `0.1.0` -> `0.2.0`, and `SystemConfig` `3.13.2+max-gas-limit-2000M` -> `3.14.0+max-gas-limit-2000M`, so `version()` read through each - proxy is a sound check that the upgrade landed. + proxy is a sound check that the upgrade landed. On Sepolia, `TEEProverRegistry` goes + `0.5.0` -> `0.6.1` and `NITRO_VERIFIER` is replaced by `NITRO_VALIDATOR`. - **The Cobalt activation is scheduled, so the transaction is time-sensitive.** `ProtocolVersions.initialize` enforces one hour of notice on future timestamps, so it reverts if the upgrade lands within the hour before the configured Cobalt activation. Execute well before diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/Makefile b/active/evm/tasks/2026-09-14-cobalt-upgrade/Makefile index a1c524e32..6dd734e18 100644 --- a/active/evm/tasks/2026-09-14-cobalt-upgrade/Makefile +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/Makefile @@ -21,8 +21,11 @@ ADDRESSES_JSON := $(CURDIR)/config/$(TASK_NETWORK)/addresses.json TASK_DIR := tasks/2026-09-14-cobalt-upgrade DEPLOY_CORE_SCRIPT := $(TASK_DIR)/script/DeployCobaltCoreImpls.s.sol:DeployCobaltCoreImpls DEPLOY_PROOFS_SCRIPT := $(TASK_DIR)/script/DeployCobaltProofImpls.s.sol:DeployCobaltProofImpls +DEPLOY_NITRO_SCRIPT := $(TASK_DIR)/script/DeployNitroValidatorStack.s.sol:DeployNitroValidatorStack +DEPLOY_TEE_REGISTRY_SCRIPT := $(TASK_DIR)/script/DeployTEEProverRegistryImpl.s.sol:DeployTEEProverRegistryImpl UPGRADE_SCRIPT := $(TASK_DIR)/script/ExecuteCobaltUpgrade.s.sol:ExecuteCobaltUpgrade SCRIPT_NAME := $(UPGRADE_SCRIPT) +DEPLOYER = $(shell $(MISE_EXEC) cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) CB_SENDER = $(shell $(MISE_EXEC) cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) SC_SENDER = $(shell $(MISE_EXEC) cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) @@ -36,6 +39,12 @@ PROTOCOL_VERSIONS_IMPL = $(shell jq -er '.protocolVersionsImpl' $(ADDRESSES_JSON OPTIMISM_PORTAL_IMPL_CTOR_ARGS = $(shell jq -er '.optimismPortalImplConstructorArgs' $(ADDRESSES_JSON) 2>/dev/null) PROTOCOL_VERSIONS_PROXY_CTOR_ARGS = $(shell jq -er '.protocolVersionsProxyConstructorArgs' $(ADDRESSES_JSON) 2>/dev/null) AGGREGATE_VERIFIER_CTOR_ARGS = $(shell jq -er '.aggregateVerifierConstructorArgs' $(ADDRESSES_JSON) 2>/dev/null) +# `// empty` matters here: a bare `jq -er .missing` prints the literal "null" on stdout, which +# would make the cutover gate below read as populated before anything is deployed. +NEW_TEE_PROVER_REGISTRY_IMPL = $(shell jq -r '.teeProverRegistryImpl // empty' $(ADDRESSES_JSON) 2>/dev/null) +NEW_P384_VERIFIER = $(shell jq -r '.p384Verifier // empty' $(ADDRESSES_JSON) 2>/dev/null) +NEW_CERT_MANAGER = $(shell jq -r '.certManager // empty' $(ADDRESSES_JSON) 2>/dev/null) +NEW_NITRO_VALIDATOR = $(shell jq -r '.nitroValidator // empty' $(ADDRESSES_JSON) 2>/dev/null) DEPLOY_ENV = ADDRESSES_JSON=$(ADDRESSES_JSON) \ L1_PROXY_ADMIN=$(L1_PROXY_ADMIN) \ @@ -65,7 +74,27 @@ UPGRADE_ENV = PROXY_ADMIN_OWNER=$(PROXY_ADMIN_OWNER) \ PROTOCOL_VERSIONS_IMPL=$(PROTOCOL_VERSIONS_IMPL) \ PROTOCOL_VERSIONS_INCIDENT_RESPONDER=$(PROTOCOL_VERSIONS_INCIDENT_RESPONDER) \ PROTOCOL_VERSIONS_MINIMUM_PROTOCOL_VERSION=$(PROTOCOL_VERSIONS_MINIMUM_PROTOCOL_VERSION) \ - PROTOCOL_VERSIONS_INITIAL_SCHEDULE=$(PROTOCOL_VERSIONS_INITIAL_SCHEDULE) + PROTOCOL_VERSIONS_INITIAL_SCHEDULE=$(PROTOCOL_VERSIONS_INITIAL_SCHEDULE) \ + $(TEE_UPGRADE_ENV) + +# Sepolia (and later networks that still need the hinted Nitro cutover) pass these +# so ExecuteCobaltUpgrade emits a sixth ProxyAdmin.upgrade. Zeronet leaves them +# unset and stays on the original five-call transaction. +ifneq ($(NEW_TEE_PROVER_REGISTRY_IMPL),) +TEE_UPGRADE_ENV = \ + TEE_PROVER_REGISTRY_PROXY=$(TEE_PROVER_REGISTRY_PROXY) \ + TEE_VERIFIER=$(TEE_VERIFIER) \ + PROPOSER=$(PROPOSER) \ + CHALLENGER=$(CHALLENGER) \ + CERT_MANAGER_OWNER=$(CERT_MANAGER_OWNER) \ + CERT_MANAGER_REVOKER=$(CERT_MANAGER_REVOKER) \ + OLD_TEE_PROVER_REGISTRY_IMPL=$(OLD_TEE_PROVER_REGISTRY_IMPL) \ + NEW_TEE_PROVER_REGISTRY_IMPL=$(NEW_TEE_PROVER_REGISTRY_IMPL) \ + OLD_NITRO_VERIFIER=$(OLD_NITRO_VERIFIER) \ + NEW_P384_VERIFIER=$(NEW_P384_VERIFIER) \ + NEW_CERT_MANAGER=$(NEW_CERT_MANAGER) \ + NEW_NITRO_VALIDATOR=$(NEW_NITRO_VALIDATOR) +endif ## # Dependencies @@ -83,7 +112,8 @@ task-extra-deps: cd $(PROJECT_DIR) && $(MISE_EXEC) forge install --no-git \ github.com/OpenZeppelin/openzeppelin-contracts@ecd2ca2cd7cac116f7a37d0e474bbb3d7d5e1c4d \ github.com/OpenZeppelin/openzeppelin-contracts-upgradeable@0a2cb9a445c365870ed7a8ab461b12acf3e27d63 \ - github.com/transmissions11/solmate@8f9b23f8838670afda0fd8983f2c41e8037ae6bc + github.com/transmissions11/solmate@8f9b23f8838670afda0fd8983f2c41e8037ae6bc \ + github.com/base/nitro-validator@0ea0d12366b4fa44f9e07e4755f2ad36561cb674 # Zeronet runs a SystemConfig patched to raise MAX_GAS_LIMIT to 2e9. Cobalt changes # SystemConfig, so the patch is re-applied on top of the pinned commit rather than @@ -119,6 +149,21 @@ deploy-proofs: $(MISE_EXEC) forge script --rpc-url $(L1_RPC_URL) $(DEPLOY_PROOFS_SCRIPT) \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv +.PHONY: deploy-nitro-validator +deploy-nitro-validator: + @test -f "$(ADDRESSES_JSON)" || echo '{}' > "$(ADDRESSES_JSON)" + cd $(PROJECT_DIR) && CERT_MANAGER_OWNER=$(CERT_MANAGER_OWNER) CERT_MANAGER_REVOKER=$(CERT_MANAGER_REVOKER) \ + ADDRESSES_JSON=$(ADDRESSES_JSON) FOUNDRY_PROFILE=nitro-deploy \ + $(MISE_EXEC) forge script --rpc-url $(L1_RPC_URL) $(DEPLOY_NITRO_SCRIPT) \ + --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER) + +.PHONY: deploy-tee-registry-impl +deploy-tee-registry-impl: + cd $(PROJECT_DIR) && DISPUTE_GAME_FACTORY_PROXY=$(DISPUTE_GAME_FACTORY_PROXY) ADDRESSES_JSON=$(ADDRESSES_JSON) \ + FOUNDRY_PROFILE=tee-registry-deploy \ + $(MISE_EXEC) forge script --rpc-url $(L1_RPC_URL) $(DEPLOY_TEE_REGISTRY_SCRIPT) \ + --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER) + ## # Source verification ## @@ -178,6 +223,44 @@ endif --constructor-args $(AGGREGATE_VERIFIER_CTOR_ARGS) \ --num-of-optimizations 999999 $(VERIFY_COMMON) +.PHONY: verify-nitro-validator +verify-nitro-validator: +ifndef VERIFIER_API_KEY + $(error VERIFIER_API_KEY is not set) +endif + cd $(PROJECT_DIR)/lib/nitro-validator && FOUNDRY_BYTECODE_HASH=none FOUNDRY_EVM_VERSION=cancun \ + $(MISE_EXEC) forge verify-contract $(NEW_P384_VERIFIER) src/P384Verifier.sol:P384Verifier \ + --chain $(L1_CHAIN_ID) --compiler-version v0.8.26+commit.8a97fa7a --num-of-optimizations 10000 \ + --verifier custom --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ + --verifier-api-key $(VERIFIER_API_KEY) --watch + cd $(PROJECT_DIR)/lib/nitro-validator && FOUNDRY_BYTECODE_HASH=none FOUNDRY_EVM_VERSION=cancun \ + $(MISE_EXEC) forge verify-contract $(NEW_CERT_MANAGER) src/CertManager.sol:CertManager \ + --constructor-args $(shell $(MISE_EXEC) cast abi-encode "constructor(address,address,address)" $(NEW_P384_VERIFIER) $(CERT_MANAGER_OWNER) $(CERT_MANAGER_REVOKER)) \ + --chain $(L1_CHAIN_ID) --compiler-version v0.8.26+commit.8a97fa7a --num-of-optimizations 10000 \ + --verifier custom --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ + --verifier-api-key $(VERIFIER_API_KEY) --watch + cd $(PROJECT_DIR)/lib/nitro-validator && FOUNDRY_BYTECODE_HASH=none FOUNDRY_EVM_VERSION=cancun \ + $(MISE_EXEC) forge verify-contract $(NEW_NITRO_VALIDATOR) src/NitroValidator.sol:NitroValidator \ + --constructor-args $(shell $(MISE_EXEC) cast abi-encode "constructor(address,address)" $(NEW_CERT_MANAGER) $(NEW_P384_VERIFIER)) \ + --chain $(L1_CHAIN_ID) --compiler-version v0.8.26+commit.8a97fa7a --num-of-optimizations 10000 \ + --verifier custom --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ + --verifier-api-key $(VERIFIER_API_KEY) --watch + +.PHONY: verify-tee-registry-impl +verify-tee-registry-impl: +ifndef VERIFIER_API_KEY + $(error VERIFIER_API_KEY is not set) +endif + @set -e; \ + mkdir -p $(CONTRACTS_LIB); \ + trap 'rm -f $(foreach d,$(VERIFY_DEPS) nitro-validator,$(CONTRACTS_LIB)/$(d)); rmdir $(CONTRACTS_LIB) 2>/dev/null || true' EXIT; \ + for d in $(VERIFY_DEPS) nitro-validator; do ln -sfn ../../$$d $(CONTRACTS_LIB)/$$d; done; \ + cd $(PROJECT_DIR); \ + $(VERIFY_ENV) FOUNDRY_OPTIMIZER_RUNS=999999 \ + $(MISE_EXEC) forge verify-contract $(NEW_TEE_PROVER_REGISTRY_IMPL) src/L1/proofs/tee/TEEProverRegistry.sol:TEEProverRegistry \ + --constructor-args $(shell $(MISE_EXEC) cast abi-encode "constructor(address,address)" $(NEW_NITRO_VALIDATOR) $(DISPUTE_GAME_FACTORY_PROXY)) \ + --num-of-optimizations 999999 $(VERIFY_COMMON) + ## # Validation files ## diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/.env b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/.env new file mode 100644 index 000000000..464fe62bf --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/.env @@ -0,0 +1,60 @@ +# https://github.com/base/contracts/commits/releases/v8.3.0/ +BASE_CONTRACTS_COMMIT=385f21a41f277d287db92fffe88dca41299162ea + +# Rollback anchors verified against Sepolia on 2026-09-17. +OLD_OPTIMISM_PORTAL_IMPL=0x45fA7cFfa725e238a46a35fdE9F339b63fDEDBdD +OLD_SYSTEM_CONFIG_IMPL=0x4ABA707Dc42c49586158037EC7F2e1E48254c735 +OLD_DISPUTE_GAME_FACTORY_IMPL=0xE7f2E3C6286375C102e482c0Aa2385D8bAAcac26 +OLD_AGGREGATE_VERIFIER=0x48cB1A96036B76Ed420d4b8eD6977aC3a939764C + +# Hinted Nitro TEE cutover. Verified against the live Sepolia registry before task creation. +OLD_TEE_PROVER_REGISTRY_IMPL=0xF9Ab55c35cE7Fb183A50E611B63558499130D849 +OLD_NITRO_VERIFIER=0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72 +CERT_MANAGER_OWNER=0x646132A1667ca7aD00d36616AFBA1A28116C770A +CERT_MANAGER_REVOKER=0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3 + +# ProtocolVersions initial state. +# +# Ids are kept aligned with the Base mainnet registry so that an index means the +# same fork on every chain. Timestamps must match the node's SEPOLIA chain config +# in base/base crates/common/chains/src/config.rs: +# 0 genesis/regolith -> 1695768288 2023-09-26 22:44:48 UTC +# 1 canyon -> 1699981200 2023-11-14 17:00:00 UTC +# 2 delta -> 1703203200 2023-12-22 00:00:00 UTC +# 3 ecotone -> 1708534800 2024-02-21 17:00:00 UTC +# 4 fjord -> 1716998400 2024-05-29 16:00:00 UTC +# 5 granite -> 1723478400 2024-08-12 16:00:00 UTC +# 6 holocene -> 1732633200 2024-11-26 15:00:00 UTC +# 7 pectraBlobSchedule -> 1742486400 2025-03-20 16:00:00 UTC +# 8 isthmus -> 1744905600 2025-04-17 16:00:00 UTC +# 9 jovian -> 1763568001 2025-11-19 16:00:01 UTC +# 10 azul -> 1776708000 2026-04-20 18:00:00 UTC +# 11 beryl -> 1781805600 2026-06-18 18:00:00 UTC +# 12 cobalt -> 1790186400 2026-09-23 18:00:00 UTC +# date -u -r 1790186400 +PROTOCOL_VERSIONS_INITIAL_SCHEDULE=1695768288,1699981200,1703203200,1708534800,1716998400,1723478400,1732633200,1742486400,1744905600,1763568001,1776708000,1781805600,1790186400 + +# Minimum protocol version, set to v1.4.0. The OP protocol version format packs the +# low 16 bytes as major || minor || patch || pre-release, four bytes each, so v1.4.0 +# is 0x00000001_00000004_00000000_00000000. Re-derive with: +# cast to-dec 0x00000001000000040000000000000000 +# Must be non-zero and fit in 128 bits. +PROTOCOL_VERSIONS_MINIMUM_PROTOCOL_VERSION=79228162588051313888382156800 +PROTOCOL_VERSIONS_INCIDENT_RESPONDER=0x646132A1667ca7aD00d36616AFBA1A28116C770A + +# AggregateVerifier proof program hashes. Every other constructor argument is read +# from the live implementation at deploy time, so these are the only values that +# change. All three rotate for Cobalt and match Zeronet because both networks use +# the same Cobalt enclave image and ZK programs from releases/v1.4.0. +# +# The TEE value is PCR0 of the AWS Nitro enclave built from crates/proof/tee. +# The ZK values are the SP1 keys from `just succinct vkeys --build`. +AGGREGATE_VERIFIER_TEE_IMAGE_HASH=0xe8dc2300cf325b2527cbfa5e664a70acc40a9f2fc0617bd35cdfa61652a5fc30 +AGGREGATE_VERIFIER_ZK_RANGE_HASH=0x7713943c2c2412314b135c5606cdb3923a54f7555d91d9f31c2f64e34e16f2f4 +AGGREGATE_VERIFIER_ZK_AGGREGATE_HASH=0x002663a1072dc1e1938e13d3b269fff88e843eb4ef76d6c6953dde4f5152973b + +# L2 chain geometry, used to map activation timestamps onto block numbers. The live +# implementation predates ScheduleConfig, so these cannot be copied from it. +L2_GENESIS_BLOCK_NUMBER=0 +L2_GENESIS_TIMESTAMP=1695768288 +L2_BLOCK_TIME=2 diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/README.md b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/README.md new file mode 100644 index 000000000..ed3da54be --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/README.md @@ -0,0 +1,59 @@ +# Cobalt Upgrade + +Status: READY TO SIGN + +## Description + +Upgrades Sepolia's L1 contracts for the Cobalt hardfork and cuts the TEE registry over to +hinted Nitro validation. One transaction from the ProxyAdmin owner makes six calls: + +1. Upgrade and initialize a new `ProtocolVersions` registry, importing Sepolia's hardfork + activation schedule and scheduling Cobalt for 2026-09-23 18:00:00 UTC. This is the + registry that dynamic upgrades read from. +2. Upgrade `OptimismPortal2` to the implementation with `EthLockbox` removed. +3. Upgrade `SystemConfig` to the matching implementation, keeping Sepolia's patched + `MAX_GAS_LIMIT` of 2,000,000,000. +4. Upgrade `DisputeGameFactory` so new dispute games are deployed with `CREATE2`. +5. Register the redeployed `AggregateVerifier` for game type 621, which binds the new + registry. +6. Upgrade the existing `TEEProverRegistry` proxy from the legacy Nitro verifier + implementation (v0.5.0) to the hinted Nitro validator implementation (v0.6.1). + +No ETH moves. Sepolia has no `EthLockbox` (`ethLockbox()` is already the zero address) +and its ETH is already held by the portal, so removing the lockbox paths changes no +balances. Existing dispute games, the game count, the gas limit, the pause state, and +the TEE registry's owner, manager, signers, proposers, game type, and per-signer image +hashes are all unchanged. The redeployed AggregateVerifier ships a new TEE image hash, +so only pre-registered Cobalt enclaves can prove after this lands. + +## Custody + +| Role | Address | +| ------------------------- | -------------------------------------------- | +| ProxyAdmin owner (2-of-2) | `0x0fe884546476dDd290eC46318785046ef68a0BA9` | +| Coinbase multisig | `0x646132A1667ca7aD00d36616AFBA1A28116C770A` | +| Security Council | `0x6AF0674791925f767060Dd52f7fB20984E8639d8` | +| `CertManager` owner | `0x646132A1667ca7aD00d36616AFBA1A28116C770A` | +| `CertManager` revoker | `0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3` | + +## Targets + +| Contract | Address | +| -------------------------- | -------------------------------------------- | +| L1 `ProxyAdmin` | `0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3` | +| `OptimismPortal2` proxy | `0x49f53e41452C74589E85cA1677426Ba426459e85` | +| `SystemConfig` proxy | `0xf272670eb55e895584501d564AfEB048bEd26194` | +| `DisputeGameFactory` proxy | `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1` | +| `TEEProverRegistry` proxy | `0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e` | + +New implementation addresses are recorded in [`addresses.json`](addresses.json) once deployed. + +## Sign + +From the repository root: + +```bash +make sign-task +``` + +Select this Sepolia task, sign, and send the signature to the facilitator. diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/addresses.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/addresses.json new file mode 100644 index 000000000..acf52f511 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/addresses.json @@ -0,0 +1,15 @@ +{ + "optimismPortalImpl": "0xA53f56711A2f65c19C1542C98116b98Fc07A9BB1", + "systemConfigImpl": "0xAEB75E200b9Bcf9343ff1A2D2b1B3976e7339CA4", + "disputeGameFactoryImpl": "0x9CaCF701Ef24B8339cd1fDecADde7C080373Fb29", + "protocolVersionsProxy": "0x15B721B12CF3b0C4400c8a2935A0Ae391c2eF65b", + "optimismPortalImplConstructorArgs": "0x0000000000000000000000000000000000000000000000000000000000000000", + "protocolVersionsProxyConstructorArgs": "0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", + "protocolVersionsImpl": "0x1a4C38C954BF25e0aA6831BAa0dE1497280e09fd", + "aggregateVerifier": "0xC1a5aCb64e439A04017A526e3D8E5d3e79846448", + "aggregateVerifierConstructorArgs": "0x000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000d6e2d9d4f1f8865ac983ee848983fb197942991400000000000000000000000092f6dd3501e51b8b20c77b959becaaebeb210e17000000000000000000000000a738e13d97a3f10b307c2cd190edd3e227a72d68e8dc2300cf325b2527cbfa5e664a70acc40a9f2fc0617bd35cdfa61652a5fc307713943c2c2412314b135c5606cdb3923a54f7555d91d9f31c2f64e34e16f2f4002663a1072dc1e1938e13d3b269fff88e843eb4ef76d6c6953dde4f5152973b12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000015b721b12cf3b0c4400c8a2935a0ae391c2ef65b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065135ee00000000000000000000000000000000000000000000000000000000000000002", + "p384Verifier": "0xa8320712fF181D74e719Ff7E6E1012bbe4687b26", + "certManager": "0x50521128e3eB8708F05129D7B7283737D55a1936", + "nitroValidator": "0x16970101Ea32243cC80a2e0C91427e8bDA70F689", + "teeProverRegistryImpl": "0xf07584cDAde9B2a739C682D88987881335c5F12f" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/validations/base-signer.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/validations/base-signer.json new file mode 100644 index 000000000..cf71402f9 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/validations/base-signer.json @@ -0,0 +1,305 @@ +{ + "cmd": "PROXY_ADMIN_OWNER=0x0fe884546476dDd290eC46318785046ef68a0BA9 L1_PROXY_ADMIN=0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3 OPTIMISM_PORTAL=0x49f53e41452C74589E85cA1677426Ba426459e85 SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 DISPUTE_GAME_FACTORY_PROXY=0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1 OLD_OPTIMISM_PORTAL_IMPL=0x45fA7cFfa725e238a46a35fdE9F339b63fDEDBdD OLD_SYSTEM_CONFIG_IMPL=0x4ABA707Dc42c49586158037EC7F2e1E48254c735 OLD_DISPUTE_GAME_FACTORY_IMPL=0xE7f2E3C6286375C102e482c0Aa2385D8bAAcac26 OLD_AGGREGATE_VERIFIER=0x48cB1A96036B76Ed420d4b8eD6977aC3a939764C NEW_OPTIMISM_PORTAL_IMPL=0xA53f56711A2f65c19C1542C98116b98Fc07A9BB1 NEW_SYSTEM_CONFIG_IMPL=0xAEB75E200b9Bcf9343ff1A2D2b1B3976e7339CA4 NEW_DISPUTE_GAME_FACTORY_IMPL=0x9CaCF701Ef24B8339cd1fDecADde7C080373Fb29 NEW_AGGREGATE_VERIFIER=0xC1a5aCb64e439A04017A526e3D8E5d3e79846448 PROTOCOL_VERSIONS_PROXY=0x15B721B12CF3b0C4400c8a2935A0Ae391c2eF65b PROTOCOL_VERSIONS_IMPL=0x1a4C38C954BF25e0aA6831BAa0dE1497280e09fd PROTOCOL_VERSIONS_INCIDENT_RESPONDER=0x646132A1667ca7aD00d36616AFBA1A28116C770A PROTOCOL_VERSIONS_MINIMUM_PROTOCOL_VERSION=79228162588051313888382156800 PROTOCOL_VERSIONS_INITIAL_SCHEDULE=1695768288,1699981200,1703203200,1708534800,1716998400,1723478400,1732633200,1742486400,1744905600,1763568001,1776708000,1781805600,1790186400 TEE_PROVER_REGISTRY_PROXY=0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e TEE_VERIFIER=0x92F6dD3501E51B8b20C77b959becaaebeB210e17 PROPOSER=0xdb84125f2f4229c81c579f41bc129c71b174eb58 CHALLENGER=0xadc09b63a3ac57a2ce86d946617a18df9db029a1 CERT_MANAGER_OWNER=0x646132A1667ca7aD00d36616AFBA1A28116C770A CERT_MANAGER_REVOKER=0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3 OLD_TEE_PROVER_REGISTRY_IMPL=0xF9Ab55c35cE7Fb183A50E611B63558499130D849 NEW_TEE_PROVER_REGISTRY_IMPL=0xf07584cDAde9B2a739C682D88987881335c5F12f OLD_NITRO_VERIFIER=0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72 NEW_P384_VERIFIER=0xa8320712fF181D74e719Ff7E6E1012bbe4687b26 NEW_CERT_MANAGER=0x50521128e3eB8708F05129D7B7283737D55a1936 NEW_NITRO_VALIDATOR=0x16970101Ea32243cC80a2e0C91427e8bDA70F689 mise exec -- forge script --rpc-url https://c3-chainproxy-eth-sepolia-full.cbhq.net tasks/2026-09-14-cobalt-upgrade/script/ExecuteCobaltUpgrade.s.sol:ExecuteCobaltUpgrade --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x2c1475476B586d66a85bC65A5aB396BBbAa4f3aD", + "ledgerId": 1, + "rpcUrl": "https://c3-chainproxy-eth-sepolia-full.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e", + "messageHash": "0x1f9d1855a8b763780e0a6ac7290561264e0cc75499a9547ab51a4339370aff22" + }, + "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": "0x63d7476ebd49d08134f15728a302f4f98205ff62af4a629bfba83e610ccafd88", + "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": "0x0000000000000000000000000000000000000000000000000000000000000028", + "after": "0x0000000000000000000000000000000000000000000000000000000000000029", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x2b07eb8df33eb066b63b2ba85878dc070ca6544623dda0d705817c384ac6a3de", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Records the nested Safe approval of the Cobalt and TEE upgrade transaction hash from the Coinbase signer Safe.", + "allowDifference": false + } + ] + }, + { + "name": "ProtocolVersions - Sepolia", + "address": "0x15B721B12CF3b0C4400c8a2935A0Ae391c2eF65b", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000000", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Sets Initializable._initialized to 1, recording that the new ProtocolVersions proxy has run its reinitializer(1) initialize call.", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000001", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000000000000000000000000000000000000000000d", + "description": "Sets the _timestamps array length to 13, one entry per registered upgrade (ids 0-12, genesis through cobalt).", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000002", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000000000000000000000000000000000000000000e", + "description": "Sets the _upgradeScheduleId array length to 14: the bytes32(0) seed at index 0 plus one hash-chain link for each of the 13 registered upgrades.", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000003", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000001000000040000000000000000", + "description": "Sets minimumProtocolVersion to v1.4.0. The OP format packs the low 16 bytes as major || minor || patch || pre-release, four bytes each, so v1.4.0 is 0x00000001000000040000000000000000 (79228162588051313888382156800).", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", + "description": "Sets incidentResponder to the Coinbase multisig. This is a restricted role that can only push an already-scheduled, not-yet-activated upgrade further into the future.", + "allowDifference": false + }, + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000001a4c38c954bf25e0aa6831baa0de1497280e09fd", + "description": "Upgrades the ProtocolVersions proxy from the zero address to the registry implementation (version 1.0.0). The proxy was deployed uninitialized, so this is the upgradeAndCall that also seeds the schedule.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xcf3d5281bfa652ef70703e785676cfe04317e8f124709bf8611ce31f684291b0", + "description": "_upgradeScheduleId[1]: hash-chain link committing to upgrade id 0 (genesis/regolith) at 1695768288.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xd0fae667b9d2d908335c2d81f83a5e564196b98f1b53743d97bfd34e139b31c2", + "description": "_upgradeScheduleId[2]: hash-chain link committing to upgrade id 1 (canyon) at 1699981200.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad1", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x2a7799774edf6e17f0a4da298960b1851bbb0da2fe1df9be858cd2b5edc12d58", + "description": "_upgradeScheduleId[3]: hash-chain link committing to upgrade id 2 (delta) at 1703203200.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x696795b03cc65142e5d9c10e06d9c420996a9a3ddb2d954055b45bc9727eda51", + "description": "_upgradeScheduleId[4]: hash-chain link committing to upgrade id 3 (ecotone) at 1708534800.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad3", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xdc8c5438fffa383992d78faa6665172fb6336a8bb1bf4335fa0cfbd1ae929e09", + "description": "_upgradeScheduleId[5]: hash-chain link committing to upgrade id 4 (fjord) at 1716998400.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad4", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x511786bd71a6db2220e981aa93ac20e4c900dcfce5502ebc4d31acbd0aa11628", + "description": "_upgradeScheduleId[6]: hash-chain link committing to upgrade id 5 (granite) at 1723478400.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad5", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x8d7396cd0fdc73cef6e895bbbd31988d2b7a55a0bc0cecb8aabfbf2b53cfbba5", + "description": "_upgradeScheduleId[7]: hash-chain link committing to upgrade id 6 (holocene) at 1732633200.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad6", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xc570fa1fd659aee81ea48e0375bd722aaccf8bff92e5fbe26eab0d5725b7fe24", + "description": "_upgradeScheduleId[8]: hash-chain link committing to upgrade id 7 (pectraBlobSchedule) at 1742486400.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad7", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x973ff06a1a574203123aa57bc124a98e93e03ff87b407b029a9c6563fc3bdd42", + "description": "_upgradeScheduleId[9]: hash-chain link committing to upgrade id 8 (isthmus) at 1744905600.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad8", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x034a09aee80079c3421a571cdb742d8daa883af0ac2d7cc63c0e8d63e510b600", + "description": "_upgradeScheduleId[10]: hash-chain link committing to upgrade id 9 (jovian) at 1763568001.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad9", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xb22c9ad7ea25a5de6123b05a23ea01fb02e066a0175cba20b46da8131af463c7", + "description": "_upgradeScheduleId[11]: hash-chain link committing to upgrade id 10 (azul) at 1776708000.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ada", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xa4d3e7bcb8576e9911a3301166267c90bf1818380a0c216428492861d5d971bc", + "description": "_upgradeScheduleId[12]: hash-chain link committing to upgrade id 11 (beryl) at 1781805600.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5adb", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xe5aa8e509aca55728cbb1d0342ec7289830194b9bb54ac76130e27e26f1f92d4", + "description": "_upgradeScheduleId[13]: hash-chain link committing to upgrade id 12 (cobalt) at 1790186400. As the tail of the chain, this is the registry's scheduleId.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000065d62c10000000006584d180000000006553a7900000000065135ee0", + "description": "_timestamps[0..3] packed: genesis/regolith at 1695768288, canyon at 1699981200, delta at 1703203200 and ecotone at 1708534800.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000067dc3b80000000006745e2700000000066ba31800000000066575100", + "description": "_timestamps[4..7] packed: fjord at 1716998400, granite at 1723478400, holocene at 1732633200 and pectraBlobSchedule at 1742486400.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000006a3432200000000069e669a000000000691de9810000000068012580", + "description": "_timestamps[8..11] packed: isthmus at 1744905600, jovian at 1763568001, azul at 1776708000 and beryl at 1781805600.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000000000000000000000000000000000006ab413a0", + "description": "_timestamps[12]: schedules cobalt for 1790186400, which is 2026-09-23 18:00:00 UTC.", + "allowDifference": false + } + ] + }, + { + "name": "OptimismPortal - Sepolia", + "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd", + "after": "0x000000000000000000000000a53f56711a2f65c19c1542c98116b98fc07a9bb1", + "description": "Update address of OptimismPortal to new implementation.", + "allowDifference": false + } + ] + }, + { + "name": "CB Coordinator Safe - Sepolia", + "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x000000000000000000000000000000000000000000000000000000000000001e", + "after": "0x000000000000000000000000000000000000000000000000000000000000001f", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "DisputeGameFactoryProxy - Sepolia", + "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", + "changes": [ + { + "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", + "before": "0x00000000000000000000000048cb1a96036b76ed420d4b8ed6977ac3a939764c", + "after": "0x000000000000000000000000c1a5acb64e439a04017a526e3d8e5d3e79846448", + "description": "Sets gameImpls[621] to the redeployed AggregateVerifier (version 0.2.0), replacing the previous verifier. The new verifier is bound to the new ProtocolVersions registry and carries the Cobalt proof hashes.", + "allowDifference": false + }, + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26", + "after": "0x0000000000000000000000009cacf701ef24b8339cd1fdecadde7c080373fb29", + "description": "Update address of DisputeGameFactory to new implementation.", + "allowDifference": false + } + ] + }, + { + "name": "TEEProverRegistry - Sepolia", + "address": "0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000f9ab55c35ce7fb183a50e611b63558499130d849", + "after": "0x000000000000000000000000f07584cdade9b2a739c682d88987881335c5f12f", + "description": "Upgrades TEEProverRegistry from version 0.5.0 using the legacy Nitro verifier to version 0.6.1 using the hinted Nitro validator. Owner, manager, signers, per-signer image hashes, proposers and game type remain unchanged.", + "allowDifference": false + } + ] + }, + { + "name": "System Config - Sepolia", + "address": "0xf272670eb55e895584501d564AfEB048bEd26194", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000004aba707dc42c49586158037ec7f2e1e48254c735", + "after": "0x000000000000000000000000aeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4", + "description": "Update address of SystemConfig to new implementation.", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [], + "skipTaskOriginValidation": true +} diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/validations/security-council-signer.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/validations/security-council-signer.json new file mode 100644 index 000000000..37063dd2d --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/config/sepolia/validations/security-council-signer.json @@ -0,0 +1,299 @@ +{ + "cmd": "PROXY_ADMIN_OWNER=0x0fe884546476dDd290eC46318785046ef68a0BA9 L1_PROXY_ADMIN=0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3 OPTIMISM_PORTAL=0x49f53e41452C74589E85cA1677426Ba426459e85 SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 DISPUTE_GAME_FACTORY_PROXY=0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1 OLD_OPTIMISM_PORTAL_IMPL=0x45fA7cFfa725e238a46a35fdE9F339b63fDEDBdD OLD_SYSTEM_CONFIG_IMPL=0x4ABA707Dc42c49586158037EC7F2e1E48254c735 OLD_DISPUTE_GAME_FACTORY_IMPL=0xE7f2E3C6286375C102e482c0Aa2385D8bAAcac26 OLD_AGGREGATE_VERIFIER=0x48cB1A96036B76Ed420d4b8eD6977aC3a939764C NEW_OPTIMISM_PORTAL_IMPL=0xA53f56711A2f65c19C1542C98116b98Fc07A9BB1 NEW_SYSTEM_CONFIG_IMPL=0xAEB75E200b9Bcf9343ff1A2D2b1B3976e7339CA4 NEW_DISPUTE_GAME_FACTORY_IMPL=0x9CaCF701Ef24B8339cd1fDecADde7C080373Fb29 NEW_AGGREGATE_VERIFIER=0xC1a5aCb64e439A04017A526e3D8E5d3e79846448 PROTOCOL_VERSIONS_PROXY=0x15B721B12CF3b0C4400c8a2935A0Ae391c2eF65b PROTOCOL_VERSIONS_IMPL=0x1a4C38C954BF25e0aA6831BAa0dE1497280e09fd PROTOCOL_VERSIONS_INCIDENT_RESPONDER=0x646132A1667ca7aD00d36616AFBA1A28116C770A PROTOCOL_VERSIONS_MINIMUM_PROTOCOL_VERSION=79228162588051313888382156800 PROTOCOL_VERSIONS_INITIAL_SCHEDULE=1695768288,1699981200,1703203200,1708534800,1716998400,1723478400,1732633200,1742486400,1744905600,1763568001,1776708000,1781805600,1790186400 TEE_PROVER_REGISTRY_PROXY=0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e TEE_VERIFIER=0x92F6dD3501E51B8b20C77b959becaaebeB210e17 PROPOSER=0xdb84125f2f4229c81c579f41bc129c71b174eb58 CHALLENGER=0xadc09b63a3ac57a2ce86d946617a18df9db029a1 CERT_MANAGER_OWNER=0x646132A1667ca7aD00d36616AFBA1A28116C770A CERT_MANAGER_REVOKER=0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3 OLD_TEE_PROVER_REGISTRY_IMPL=0xF9Ab55c35cE7Fb183A50E611B63558499130D849 NEW_TEE_PROVER_REGISTRY_IMPL=0xf07584cDAde9B2a739C682D88987881335c5F12f OLD_NITRO_VERIFIER=0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72 NEW_P384_VERIFIER=0xa8320712fF181D74e719Ff7E6E1012bbe4687b26 NEW_CERT_MANAGER=0x50521128e3eB8708F05129D7B7283737D55a1936 NEW_NITRO_VALIDATOR=0x16970101Ea32243cC80a2e0C91427e8bDA70F689 mise exec -- forge script --rpc-url https://c3-chainproxy-eth-sepolia-full.cbhq.net tasks/2026-09-14-cobalt-upgrade/script/ExecuteCobaltUpgrade.s.sol:ExecuteCobaltUpgrade --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x2c1475476B586d66a85bC65A5aB396BBbAa4f3aD", + "ledgerId": 1, + "rpcUrl": "https://c3-chainproxy-eth-sepolia-full.cbhq.net", + "expectedDomainAndMessageHashes": { + "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", + "messageHash": "0xbadf81181b174dd7e5e43d26230e03045947c940d8ff77afc7cf27a69ff82922" + }, + "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": "0x3d481fe94991f8457cfdf3c3bb1f9e411d38dd4a552bcf7ee61b3c3c4ce08f13", + "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": "0x0000000000000000000000000000000000000000000000000000000000000028", + "after": "0x0000000000000000000000000000000000000000000000000000000000000029", + "description": "Increments the nonce", + "allowDifference": false + }, + { + "key": "0x566ac2a89a4b89598fb8e3245ad69c05e710a61a3e37818ac27cb1d77128f134", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Records the nested Safe approval of the Cobalt and TEE upgrade transaction hash from the Security Council signer Safe.", + "allowDifference": false + } + ] + }, + { + "name": "ProtocolVersions - Sepolia", + "address": "0x15B721B12CF3b0C4400c8a2935A0Ae391c2eF65b", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000000", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000000000000000000000000000001", + "description": "Sets Initializable._initialized to 1, recording that the new ProtocolVersions proxy has run its reinitializer(1) initialize call.", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000001", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000000000000000000000000000000000000000000d", + "description": "Sets the _timestamps array length to 13, one entry per registered upgrade (ids 0-12, genesis through cobalt).", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000002", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000000000000000000000000000000000000000000e", + "description": "Sets the _upgradeScheduleId array length to 14: the bytes32(0) seed at index 0 plus one hash-chain link for each of the 13 registered upgrades.", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000003", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000000000000000000001000000040000000000000000", + "description": "Sets minimumProtocolVersion to v1.4.0. The OP format packs the low 16 bytes as major || minor || patch || pre-release, four bytes each, so v1.4.0 is 0x00000001000000040000000000000000 (79228162588051313888382156800).", + "allowDifference": false + }, + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000004", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", + "description": "Sets incidentResponder to the Coinbase multisig. This is a restricted role that can only push an already-scheduled, not-yet-activated upgrade further into the future.", + "allowDifference": false + }, + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000000000000000000001a4c38c954bf25e0aa6831baa0de1497280e09fd", + "description": "Upgrades the ProtocolVersions proxy from the zero address to the registry implementation (version 1.0.0). The proxy was deployed uninitialized, so this is the upgradeAndCall that also seeds the schedule.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xcf3d5281bfa652ef70703e785676cfe04317e8f124709bf8611ce31f684291b0", + "description": "_upgradeScheduleId[1]: hash-chain link committing to upgrade id 0 (genesis/regolith) at 1695768288.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xd0fae667b9d2d908335c2d81f83a5e564196b98f1b53743d97bfd34e139b31c2", + "description": "_upgradeScheduleId[2]: hash-chain link committing to upgrade id 1 (canyon) at 1699981200.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad1", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x2a7799774edf6e17f0a4da298960b1851bbb0da2fe1df9be858cd2b5edc12d58", + "description": "_upgradeScheduleId[3]: hash-chain link committing to upgrade id 2 (delta) at 1703203200.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x696795b03cc65142e5d9c10e06d9c420996a9a3ddb2d954055b45bc9727eda51", + "description": "_upgradeScheduleId[4]: hash-chain link committing to upgrade id 3 (ecotone) at 1708534800.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad3", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xdc8c5438fffa383992d78faa6665172fb6336a8bb1bf4335fa0cfbd1ae929e09", + "description": "_upgradeScheduleId[5]: hash-chain link committing to upgrade id 4 (fjord) at 1716998400.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad4", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x511786bd71a6db2220e981aa93ac20e4c900dcfce5502ebc4d31acbd0aa11628", + "description": "_upgradeScheduleId[6]: hash-chain link committing to upgrade id 5 (granite) at 1723478400.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad5", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x8d7396cd0fdc73cef6e895bbbd31988d2b7a55a0bc0cecb8aabfbf2b53cfbba5", + "description": "_upgradeScheduleId[7]: hash-chain link committing to upgrade id 6 (holocene) at 1732633200.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad6", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xc570fa1fd659aee81ea48e0375bd722aaccf8bff92e5fbe26eab0d5725b7fe24", + "description": "_upgradeScheduleId[8]: hash-chain link committing to upgrade id 7 (pectraBlobSchedule) at 1742486400.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad7", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x973ff06a1a574203123aa57bc124a98e93e03ff87b407b029a9c6563fc3bdd42", + "description": "_upgradeScheduleId[9]: hash-chain link committing to upgrade id 8 (isthmus) at 1744905600.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad8", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x034a09aee80079c3421a571cdb742d8daa883af0ac2d7cc63c0e8d63e510b600", + "description": "_upgradeScheduleId[10]: hash-chain link committing to upgrade id 9 (jovian) at 1763568001.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad9", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xb22c9ad7ea25a5de6123b05a23ea01fb02e066a0175cba20b46da8131af463c7", + "description": "_upgradeScheduleId[11]: hash-chain link committing to upgrade id 10 (azul) at 1776708000.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ada", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xa4d3e7bcb8576e9911a3301166267c90bf1818380a0c216428492861d5d971bc", + "description": "_upgradeScheduleId[12]: hash-chain link committing to upgrade id 11 (beryl) at 1781805600.", + "allowDifference": false + }, + { + "key": "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5adb", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0xe5aa8e509aca55728cbb1d0342ec7289830194b9bb54ac76130e27e26f1f92d4", + "description": "_upgradeScheduleId[13]: hash-chain link committing to upgrade id 12 (cobalt) at 1790186400. As the tail of the chain, this is the registry's scheduleId.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000065d62c10000000006584d180000000006553a7900000000065135ee0", + "description": "_timestamps[0..3] packed: genesis/regolith at 1695768288, canyon at 1699981200, delta at 1703203200 and ecotone at 1708534800.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x0000000067dc3b80000000006745e2700000000066ba31800000000066575100", + "description": "_timestamps[4..7] packed: fjord at 1716998400, granite at 1723478400, holocene at 1732633200 and pectraBlobSchedule at 1742486400.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000006a3432200000000069e669a000000000691de9810000000068012580", + "description": "_timestamps[8..11] packed: isthmus at 1744905600, jovian at 1763568001, azul at 1776708000 and beryl at 1781805600.", + "allowDifference": false + }, + { + "key": "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9", + "before": "0x0000000000000000000000000000000000000000000000000000000000000000", + "after": "0x000000000000000000000000000000000000000000000000000000006ab413a0", + "description": "_timestamps[12]: schedules cobalt for 1790186400, which is 2026-09-23 18:00:00 UTC.", + "allowDifference": false + } + ] + }, + { + "name": "OptimismPortal - Sepolia", + "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd", + "after": "0x000000000000000000000000a53f56711a2f65c19c1542c98116b98fc07a9bb1", + "description": "Update address of OptimismPortal to new implementation.", + "allowDifference": false + } + ] + }, + { + "name": "Mock OP Safe / Mock Security Council - Sepolia", + "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", + "changes": [ + { + "key": "0x0000000000000000000000000000000000000000000000000000000000000005", + "before": "0x0000000000000000000000000000000000000000000000000000000000000028", + "after": "0x0000000000000000000000000000000000000000000000000000000000000029", + "description": "Increments the nonce", + "allowDifference": false + } + ] + }, + { + "name": "DisputeGameFactoryProxy - Sepolia", + "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", + "changes": [ + { + "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", + "before": "0x00000000000000000000000048cb1a96036b76ed420d4b8ed6977ac3a939764c", + "after": "0x000000000000000000000000c1a5acb64e439a04017a526e3d8e5d3e79846448", + "description": "Sets gameImpls[621] to the redeployed AggregateVerifier (version 0.2.0), replacing the previous verifier. The new verifier is bound to the new ProtocolVersions registry and carries the Cobalt proof hashes.", + "allowDifference": false + }, + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26", + "after": "0x0000000000000000000000009cacf701ef24b8339cd1fdecadde7c080373fb29", + "description": "Update address of DisputeGameFactory to new implementation.", + "allowDifference": false + } + ] + }, + { + "name": "TEEProverRegistry - Sepolia", + "address": "0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x000000000000000000000000f9ab55c35ce7fb183a50e611b63558499130d849", + "after": "0x000000000000000000000000f07584cdade9b2a739c682d88987881335c5f12f", + "description": "Upgrades TEEProverRegistry from version 0.5.0 using the legacy Nitro verifier to version 0.6.1 using the hinted Nitro validator. Owner, manager, signers, per-signer image hashes, proposers and game type remain unchanged.", + "allowDifference": false + } + ] + }, + { + "name": "System Config - Sepolia", + "address": "0xf272670eb55e895584501d564AfEB048bEd26194", + "changes": [ + { + "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "before": "0x0000000000000000000000004aba707dc42c49586158037ec7f2e1e48254c735", + "after": "0x000000000000000000000000aeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4", + "description": "Update address of SystemConfig to new implementation.", + "allowDifference": false + } + ] + } + ], + "balanceChanges": [], + "skipTaskOriginValidation": true +} diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployCobaltCoreImpls.s.sol/11155111/run-1789684873625.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployCobaltCoreImpls.s.sol/11155111/run-1789684873625.json new file mode 100644 index 000000000..5fa7066a3 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployCobaltCoreImpls.s.sol/11155111/run-1789684873625.json @@ -0,0 +1,212 @@ +{ + "transactions": [ + { + "hash": "0x49ca2b434cdada7afdc66f7db28cf29024f5cd5cfded694296e3be819c9070c7", + "transactionType": "CREATE", + "contractName": "OptimismPortal2", + "contractAddress": "0xa53f56711a2f65c19c1542c98116b98fc07a9bb1", + "function": null, + "arguments": [ + "0" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x53f5ba", + "value": "0x0", + "input": "0x60c06040523480156200001157600080fd5b5060405162004d0f38038062004d0f833981016040819052620000349162000111565b600360805260a0819052620000486200004f565b506200012b565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200010f576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012457600080fd5b5051919050565b60805160a051614bb06200015f600039600081816105d10152611a0f0152600081816102580152610ee50152614bb06000f3fe6080604052600436106101c65760003560e01c80635c975abb116100f7578063a35d99df11610095578063cff0ab9611610064578063cff0ab96146105f5578063dad544e014610696578063e9e05c42146106ab578063f2b4e617146106be57600080fd5b8063a35d99df146104f5578063a3860f4814610515578063bb2c727e14610535578063bf653a5c146105c257600080fd5b80638c3152e9116100d15780638c3152e914610470578063952b2797146104905780639bf62d82146104a5578063a14238e7146104c557600080fd5b80635c975abb1461043b57806371c1566e146104505780638b4c40b0146101eb57600080fd5b806345884d32116101645780634fd0434c1161013e5780634fd0434c14610366578063513747ab1461039457806354fd4d50146103cf5780635c0cba331461041b57600080fd5b806345884d32146102f6578063485cc955146103265780634870496f1461034657600080fd5b80633c9f397c116101a05780633c9f397c146102825780633e47158c146102ac57806343ca1c50146102c1578063452a9320146102e157600080fd5b806333d7e2bd146101f257806335e80ab31461022f57806338d38c971461024457600080fd5b366101ed576101eb3334620186a06000604051806020016040528060008152506106d3565b005b600080fd5b3480156101fe57600080fd5b50603754610212906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561023b57600080fd5b506102126108b3565b34801561025057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610226565b34801561028e57600080fd5b5061029761093f565b60405163ffffffff9091168152602001610226565b3480156102b857600080fd5b506102126109c6565b3480156102cd57600080fd5b506101eb6102dc366004614123565b610baa565b3480156102ed57600080fd5b50610212610df2565b34801561030257600080fd5b50610316610311366004614175565b610e55565b6040519015158152602001610226565b34801561033257600080fd5b506101eb610341366004614192565b610ee3565b34801561035257600080fd5b506101eb6103613660046141c0565b6110b9565b34801561037257600080fd5b5061037b611784565b60405167ffffffffffffffff9091168152602001610226565b3480156103a057600080fd5b506103c16103af36600461429c565b6000908152603c602052604090205490565b604051908152602001610226565b3480156103db57600080fd5b50604080518082018252600581527f362e302e3000000000000000000000000000000000000000000000000000000060208201529051610226919061430d565b34801561042757600080fd5b50603e54610212906001600160a01b031681565b34801561044757600080fd5b5061031661180b565b34801561045c57600080fd5b506101eb61046b366004614320565b611892565b34801561047c57600080fd5b506101eb61048b366004614345565b611b3e565b34801561049c57600080fd5b506103c1611b4b565b3480156104b157600080fd5b50603254610212906001600160a01b031681565b3480156104d157600080fd5b506103166104e036600461429c565b60336020526000908152604090205460ff1681565b34801561050157600080fd5b5061037b610510366004614398565b611bd2565b34801561052157600080fd5b506102126105303660046143b5565b611beb565b34801561054157600080fd5b5061059a610550366004614320565b60396020908152600092835260408084209091529082529020546001600160a01b0381169074010000000000000000000000000000000000000000900467ffffffffffffffff1682565b604080516001600160a01b03909316835267ffffffffffffffff909116602083015201610226565b3480156105ce57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c1565b34801561060157600080fd5b5060015461065d906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff9283166020850152911690820152606001610226565b3480156106a257600080fd5b50610212611c23565b6101eb6106b93660046143e5565b6106d3565b3480156106ca57600080fd5b50610212611c6a565b8260005a90506106e1611ccd565b1561071e57341561071e576040517fbd58e0a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83801561073357506001600160a01b03871615155b1561076a576040517fc5defbad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107748351611bd2565b67ffffffffffffffff168567ffffffffffffffff1610156107c1576040517f70c8bdbd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6201d4c0835111156107ff576040517f5aa3bac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33610808611d4f565b610825575033731111000000000000000000000000000000001111015b60003488888888604051602001610840959493929190614464565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c3284604051610896919061430d565b60405180910390a450506108aa8282611d8c565b50505050505050565b603754604080517f35e80ab300000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa158015610916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906144c9565b905090565b603e54604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa1580156109a2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906144f8565b6000806109f17fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b03811615610a0757919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610a4a9190614544565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610aa5906060015b604051602081830303815290604052805190602001205490565b14610adc576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051306020820152600191810191909152600090610afe90606001610a8b565b90506001600160a01b03811615610b7857806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7191906144c9565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb2612063565b610bba611ccd565b15610bfb57606082015115610bfb576040517fbd58e0a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6032546001600160a01b031661dead14610c41576040517fdfeaaeb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c5782604001516001600160a01b0316301490565b15610c8e576040517fc5defbad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c99836120a2565b9050610ca58183611892565b600081815260336020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590850151603280546001600160a01b039092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790558401516080850151606086015160a0870151610d3a939291906120ef565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610d9f90841515815260200190565b60405180910390a280158015610db55750326001145b15610dec576040517fab58103600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b603754604080517f452a932000000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa158015610916573d6000803e3d6000fd5b603e546040517f45884d320000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190614563565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610f23575060005460ff8083169116105b610f9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610fd361214d565b603780546001600160a01b038086167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255603e805485841692169190911790556032541661104e57603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead1790555b6110566121b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6110c1612063565b6110d785604001516001600160a01b0316301490565b1561110e576040517fc5defbad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611116611ccd565b1561115757606085015115611157576040517fbd58e0a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611161611c6a565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161118e91815260200190565b606060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190614580565b603e546040517f496b9c160000000000000000000000000000000000000000000000000000000081526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611236573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125a9190614563565b611290576040517ff395240e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603e546040517f04e50fed0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156112f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113179190614563565b61134d576040517fe29927ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b191906145fc565b60028111156113c2576113c26145cd565b036113f9576040517fe29927ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61146b816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e919061461d565b67ffffffffffffffff1690565b67ffffffffffffffff1642116114ad576040517fb4caa4e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114c46114bf3686900386018661463a565b6122ad565b61152c826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152991906146a0565b90565b14611563576040517f426149af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061156e876120a2565b9050600081600060405160200161158f929190918252602082015260400190565b60408051601f1981840301815282825280516020918201209083018190529250611606910160408051601f19818403018152828201909152600182527f01000000000000000000000000000000000000000000000000000000000000006020830152906115fc87896146b9565b89604001356122ec565b1515600003611641576040517f2e57ef3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182526001600160a01b03808616825267ffffffffffffffff42811660208085019182526000888152603982528681203380835290835287822096518754945190951674010000000000000000000000000000000000000000027fffffffff000000000000000000000000000000000000000000000000000000009094169486169490941792909217909455868152603c845284812080546001810182559082528482200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e54604080517f4086d18300000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156117e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a919061461d565b603754604080517f5c975abb00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa15801561186e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a9190614563565b60008281526039602090815260408083206001600160a01b0385811685529083528184208251808401845290549182168082527401000000000000000000000000000000000000000090920467ffffffffffffffff1681850152868552603390935292205490919060ff1615611934576040517f730a107400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816020015167ffffffffffffffff1660000361197c576040517fcca6afda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119bd816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561143a573d6000803e3d6000fd5b67ffffffffffffffff16826020015167ffffffffffffffff1611611a0d576040517fb4caa4e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000826020015167ffffffffffffffff1642611a48919061473d565b11611a7f576040517fd9bc01be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603e546040517f6c4f44670000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa158015611ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b069190614563565b610dec576040517f332a57f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611b488133610baa565b50565b603e54604080517f952b279700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611bae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093a91906146a0565b6000611bdf826028614754565b610edd90615208614784565b603c6020528160005260406000208181548110611c0757600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611c2d6109c6565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610916573d6000803e3d6000fd5b603e54604080517ff2b4e61700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa158015610916573d6000803e3d6000fd5b6037546040517f47af267b0000000000000000000000000000000000000000000000000000000081527f435553544f4d5f4741535f544f4b454e0000000000000000000000000000000060048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa15801561186e573d6000803e3d6000fd5b6000323303611d5e5750600190565b333b601703611d8657604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611dc2907801000000000000000000000000000000000000000000000000900467ffffffffffffffff164361473d565b90506000611dce612310565b90506000816020015160ff16826000015163ffffffff16611def91906147df565b90508215611f2657600154600090611e26908390700100000000000000000000000000000000900467ffffffffffffffff16614829565b90506000836040015160ff1683611e3d919061489d565b600154611e5d9084906fffffffffffffffffffffffffffffffff1661489d565b611e6791906147df565b600154909150600090611eb890611e919084906fffffffffffffffffffffffffffffffff16614959565b866060015163ffffffff168760a001516fffffffffffffffffffffffffffffffff166123c9565b90506001861115611ee757611ee4611e9182876040015160ff1660018a611edf919061473d565b6123e8565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b60018054869190601090611f59908490700100000000000000000000000000000000900467ffffffffffffffff16614784565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550816000015163ffffffff16600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff161315611fe6576040517f77ebef4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154600090612012906fffffffffffffffffffffffffffffffff1667ffffffffffffffff8816614544565b9050600061202448633b9aca0061243d565b61202e90836149cd565b905060005a61203d908861473d565b90508082111561205957612059612054828461473d565b612454565b5050505050505050565b61206b61180b565b15611b3c576040517fb9c3c2ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516020808301516040808501516060860151608087015160a088015193516000976120d29790969591016149e1565b604051602081830303815290604052805190602001209050919050565b60008060006120ff866000612482565b905080612135576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b336121566109c6565b6001600160a01b03161415801561217d575033612171611c23565b6001600160a01b031614155b15611b3c576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff166122315760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610f91565b6001547801000000000000000000000000000000000000000000000000900467ffffffffffffffff16600003611b3c5760408051606081018252633b9aca00808252600060208301524367ffffffffffffffff169190920181905278010000000000000000000000000000000000000000000000000217600155565b600081600001518260200151836040015184606001516040516020016120d2949392919093845260208401929092526040830152606082015260800190565b6000806122f8866124a0565b9050612306818686866124d2565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080517fcc731b0200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa1580156123a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190614a41565b60006123de6123d88585612502565b83612512565b90505b9392505050565b6000670de0b6b3a764000061242961240085836147df565b61241290670de0b6b3a7640000614829565b61242485670de0b6b3a764000061489d565b612521565b612433908661489d565b6123de91906147df565b60008183101561244d57816123e1565b5090919050565b6000805a90505b825a612467908361473d565b101561247d5761247682614afd565b915061245b565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b606081805190602001206040516020016124bc91815260200190565b6040516020818303038152906040529050919050565b60006124f9846124e3878686612552565b8051602091820120825192909101919091201490565b95945050505050565b60008183121561244d57816123e1565b600081831261244d57816123e1565b60006123e1670de0b6b3a76400008361253986612e64565b612543919061489d565b61254d91906147df565b61308e565b606060008451116125a55760405162461bcd60e51b815260206004820152601560248201527f4d65726b6c65547269653a20656d707479206b657900000000000000000000006044820152606401610f91565b60006125b0846132b3565b905060006125bd8661339f565b90506000846040516020016125d491815260200190565b60405160208183030381529060405290506000805b8451811015612df557600085828151811061260657612606614b17565b6020026020010151905084518311156126875760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201527f74616c206b6579206c656e6774680000000000000000000000000000000000006064820152608401610f91565b8260000361272657805180516020918201206040516126d5926126af92910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6127215760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f91565b612849565b8051516020116127c25780518051602091820120604051612750926126af92910190815260200190565b6127215760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e60448201527f616c2068617368000000000000000000000000000000000000000000000000006064820152608401610f91565b8051845160208087019190912082519190920120146128495760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f6460448201527f65206861736800000000000000000000000000000000000000000000000000006064820152608401610f91565b61285560106001614b46565b816020015151036129fd57845183036129955761288f816020015160108151811061288257612882614b17565b6020026020010151613402565b965060008751116129085760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f91565b60018651612916919061473d565b821461298a5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f91565b5050505050506123e1565b60008584815181106129a9576129a9614b17565b602001015160f81c60f81b60f81c9050600082602001518260ff16815181106129d4576129d4614b17565b602002602001015190506129e7816134b6565b95506129f4600186614b46565b94505050612de2565b600281602001515103612d74576000612a15826134db565b9050600081600081518110612a2c57612a2c614b17565b016020015160f81c90506000612a43600283614b5e565b612a4e906002614b80565b90506000612a5f848360ff166134ff565b90506000612a6d8a896134ff565b90506000612a7b8383613535565b905080835114612af35760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f91565b60ff851660021480612b08575060ff85166003145b15612ca95780825114612b835760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f91565b612b9d876020015160018151811061288257612882614b17565b9c5060008d5111612c165760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f91565b60018c51612c24919061473d565b8814612c985760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f91565b5050505050505050505050506123e1565b60ff85161580612cbc575060ff85166001145b15612cfb57612ce88760200151600181518110612cdb57612cdb614b17565b60200260200101516134b6565b9950612cf4818a614b46565b9850612d69565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f6465207769746860448201527f20616e20756e6b6e6f776e2070726566697800000000000000000000000000006064820152608401610f91565b505050505050612de2565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e70617273656160448201527f626c65206e6f64650000000000000000000000000000000000000000000000006064820152608401610f91565b5080612ded81614afd565b9150506125e9565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c6560448201527f6d656e74730000000000000000000000000000000000000000000000000000006064820152608401610f91565b6000808213612eb55760405162461bcd60e51b815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610f91565b60006060612ec2846135e9565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136130bf57506000919050565b680755bf798b4a1bf1e582126131175760405162461bcd60e51b815260206004820152600c60248201527f4558505f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610f91565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b80516060908067ffffffffffffffff8111156132d1576132d1613f8f565b60405190808252806020026020018201604052801561331657816020015b60408051808201909152606080825260208201528152602001906001900390816132ef5790505b50915060005b8181101561339857604051806040016040528085838151811061334157613341614b17565b6020026020010151815260200161337086848151811061336357613363614b17565b60200260200101516136a5565b81525083828151811061338557613385614b17565b602090810291909101015260010161331c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b838110156133f7578060011b82018184015160001a8060041c8253600f8116600183015350506001016133c9565b509295945050505050565b60606000806000613412856136b8565b91945092509050600081600181111561342d5761342d6145cd565b14613464576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61346e8284614b46565b8551146134a7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6124f985602001518484613b56565b606060208260000151106134d2576134cd82613402565b610edd565b610edd82613bea565b6060610edd6134fa836020015160008151811061288257612882614b17565b61339f565b60608251821061351e5750604080516020810190915260008152610edd565b6123e18383848651613530919061473d565b613c00565b600080825184511061354857825161354b565b83515b90505b80821080156135d2575082828151811061356a5761356a614b17565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168483815181106135a9576135a9614b17565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b156135e25781600101915061354e565b5092915050565b600080821161363a5760405162461bcd60e51b815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610f91565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610edd6136b383613d6c565b613dd9565b600080600083600001516000036136fb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111613720576000600160009450945094505050613b4f565b60b7811161383657600061373560808361473d565b905080876000015111613774576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff000000000000000000000000000000000000000000000000000000000000001690821480156137ec57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15613823576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250613b4f915050565b60bf811161399457600061384b60b78361473d565b90508087600001511161388a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff000000000000000000000000000000000000000000000000000000000000001660008190036138ec576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111613934576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61393e8184614b46565b895111613977576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613982836001614b46565b9750955060009450613b4f9350505050565b60f781116139f95760006139a960c08361473d565b9050808760000151116139e8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250613b4f915050565b6000613a0660f78361473d565b905080876000015111613a45576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003613aa7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111613aef576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613af98184614b46565b895111613b32576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613b3d836001614b46565b9750955060019450613b4f9350505050565b9193909250565b60608167ffffffffffffffff811115613b7157613b71613f8f565b6040519080825280601f01601f191660200182016040528015613b9b576020820181803683370190505b50905081156123e1576000613bb08486614b46565b90506020820160005b84811015613bd1578281015182820152602001613bb9565b84811115613be0576000858301525b5050509392505050565b6060610edd826020015160008460000151613b56565b60608182601f011015613c555760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610f91565b828284011015613ca75760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610f91565b81830184511015613cfa5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610f91565b606082158015613d195760405191506000825260208201604052613d63565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015613d52578051835260209283019201613d3a565b5050858452601f01601f1916604052505b50949350505050565b60408051808201909152600080825260208201528151600003613dbb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613de9856136b8565b919450925090506001816001811115613e0457613e046145cd565b14613e3b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613e478385614b46565b14613e7e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613e955790505093506000835b8651811015613f8357600080613f086040518060400160405280858c60000151613eec919061473d565b8152602001858c60200151613f019190614b46565b90526136b8565b509150915060405180604001604052808383613f249190614b46565b8152602001848b60200151613f399190614b46565b815250888581518110613f4e57613f4e614b17565b6020908102919091010152613f64600185614b46565b9350613f708183614b46565b613f7a9084614b46565b92505050613ec2565b50845250919392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fe757613fe7613f8f565b604052919050565b6001600160a01b0381168114611b4857600080fd5b600082601f83011261401557600080fd5b813567ffffffffffffffff81111561402f5761402f613f8f565b6140426020601f19601f84011601613fbe565b81815284602083860101111561405757600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561408657600080fd5b60405160c0810167ffffffffffffffff82821081831117156140aa576140aa613f8f565b8160405282935084358352602085013591506140c582613fef565b816020840152604085013591506140db82613fef565b816040840152606085013560608401526080850135608084015260a085013591508082111561410957600080fd5b5061411685828601614004565b60a0830152505092915050565b6000806040838503121561413657600080fd5b823567ffffffffffffffff81111561414d57600080fd5b61415985828601614074565b925050602083013561416a81613fef565b809150509250929050565b60006020828403121561418757600080fd5b81356123e181613fef565b600080604083850312156141a557600080fd5b82356141b081613fef565b9150602083013561416a81613fef565b600080600080600085870360e08112156141d957600080fd5b863567ffffffffffffffff808211156141f157600080fd5b6141fd8a838b01614074565b97506020890135965060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08401121561423657600080fd5b60408901955060c089013592508083111561425057600080fd5b828901925089601f84011261426457600080fd5b823591508082111561427557600080fd5b508860208260051b840101111561428b57600080fd5b959894975092955050506020019190565b6000602082840312156142ae57600080fd5b5035919050565b60005b838110156142d05781810151838201526020016142b8565b83811115610dec5750506000910152565b600081518084526142f98160208601602086016142b5565b601f01601f19169290920160200192915050565b6020815260006123e160208301846142e1565b6000806040838503121561433357600080fd5b82359150602083013561416a81613fef565b60006020828403121561435757600080fd5b813567ffffffffffffffff81111561436e57600080fd5b61437a84828501614074565b949350505050565b67ffffffffffffffff81168114611b4857600080fd5b6000602082840312156143aa57600080fd5b81356123e181614382565b600080604083850312156143c857600080fd5b50508035926020909101359150565b8015158114611b4857600080fd5b600080600080600060a086880312156143fd57600080fd5b853561440881613fef565b945060208601359350604086013561441f81614382565b9250606086013561442f816143d7565b9150608086013567ffffffffffffffff81111561444b57600080fd5b61445788828901614004565b9150509295509295909350565b8581528460208201527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b16604082015282151560f81b6048820152600082516144b88160498501602087016142b5565b919091016049019695505050505050565b6000602082840312156144db57600080fd5b81516123e181613fef565b63ffffffff81168114611b4857600080fd5b60006020828403121561450a57600080fd5b81516123e1816144e6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600081600019048311821515161561455e5761455e614515565b500290565b60006020828403121561457557600080fd5b81516123e1816143d7565b60008060006060848603121561459557600080fd5b83516145a0816144e6565b60208501519093506145b181614382565b60408501519092506145c281613fef565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561460e57600080fd5b8151600381106123e157600080fd5b60006020828403121561462f57600080fd5b81516123e181614382565b60006080828403121561464c57600080fd5b6040516080810181811067ffffffffffffffff8211171561466f5761466f613f8f565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b6000602082840312156146b257600080fd5b5051919050565b600067ffffffffffffffff808411156146d4576146d4613f8f565b8360051b60206146e5818301613fbe565b8681529185019181810190368411156146fd57600080fd5b865b84811015614731578035868111156147175760008081fd5b61472336828b01614004565b8452509183019183016146ff565b50979650505050505050565b60008282101561474f5761474f614515565b500390565b600067ffffffffffffffff8083168185168183048111821515161561477b5761477b614515565b02949350505050565b600067ffffffffffffffff8083168185168083038211156147a7576147a7614515565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826147ee576147ee6147b0565b60001983147f80000000000000000000000000000000000000000000000000000000000000008314161561482457614824614515565b500590565b6000808312837f80000000000000000000000000000000000000000000000000000000000000000183128115161561486357614863614515565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561489757614897614515565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156148de576148de614515565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561491957614919614515565b6000871292508782058712848416161561493557614935614515565b8785058712818416161561494b5761494b614515565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384138115161561499357614993614515565b827f80000000000000000000000000000000000000000000000000000000000000000384128116156149c7576149c7614515565b50500190565b6000826149dc576149dc6147b0565b500490565b86815260006001600160a01b03808816602084015280871660408401525084606083015283608083015260c060a0830152614a1f60c08301846142e1565b98975050505050505050565b805160ff81168114614a3c57600080fd5b919050565b600060c08284031215614a5357600080fd5b60405160c0810181811067ffffffffffffffff82111715614a7657614a76613f8f565b6040528251614a84816144e6565b8152614a9260208401614a2b565b6020820152614aa360408401614a2b565b60408201526060830151614ab6816144e6565b60608201526080830151614ac9816144e6565b608082015260a08301516fffffffffffffffffffffffffffffffff81168114614af157600080fd5b60a08201529392505050565b60006000198203614b1057614b10614515565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008219821115614b5957614b59614515565b500190565b600060ff831680614b7157614b716147b0565b8060ff84160691505092915050565b600060ff821660ff841680821015614b9a57614b9a614515565b9003939250505056fea164736f6c634300080f000a0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x014ff4f9b1a162c4b8dbcdc5830c6187e9076caed87627b274a016bc1a07cecc", + "transactionType": "CREATE", + "contractName": "SystemConfig", + "contractAddress": "0xaeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4", + "function": null, + "arguments": null, + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x314e20", + "value": "0x0", + "input": "0x60a06040523480156200001157600080fd5b5060046080526200005f6200004860017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000135565b60001b6000196200006f60201b620017c71760201c565b6200006962000073565b6200015b565b9055565b600054610100900460ff1615620000e05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000133576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015657634e487b7160e01b600052601160045260246000fd5b500390565b608051612b486200017e600039600081816105480152610af70152612b486000f3fe608060405234801561001057600080fd5b50600436106103af5760003560e01c80637e54b8ad116101f4578063d220a9e01161011a578063f2c4bc9e116100ad578063f8c68de01161007c578063f8c68de01461099e578063fd32aa0f146109a6578063fe3d5710146109ae578063ffa1ad74146109e757600080fd5b8063f2c4bc9e1461095b578063f2fde38b1461096e578063f45e65d814610981578063f68016b71461098a57600080fd5b8063e0e2016d116100e9578063e0e2016d14610922578063e81b2c6d1461092a578063ec70751714610933578063f2b4e6171461095357600080fd5b8063d220a9e0146108f9578063d6ae3cd514610909578063dac6e63a14610912578063dad544e01461091a57600080fd5b8063b40a817c11610192578063c4e8ddfa11610161578063c4e8ddfa14610792578063c9b26f611461079a578063c9ff2d16146107ad578063cc731b02146107c557600080fd5b8063b40a817c14610748578063bc49ce5f1461075b578063bfb14fb714610763578063c0fd4b411461077f57600080fd5b80639b7d7f0a116101ce5780639b7d7f0a146106a3578063a39fac12146106ab578063a62611a214610714578063a71198691461074057600080fd5b80637e54b8ad146106775780638da5cb5b1461067f578063935f029e1461069057600080fd5b806321d7fde5116102d95780634add321d116102775780635c975abb116102465780635c975abb1461064c5780635d73369c14610654578063715018a61461065c5780637616f0e81461066457600080fd5b80634add321d146105ad5780634d5d9a2a146105b55780634f16540b146105e657806354fd4d501461060d57600080fd5b80633e47158c116102b35780633e47158c14610572578063452a93201461057a57806347af267b1461058257806348cd4cb1146105a557600080fd5b806321d7fde51461051b57806335e80ab31461052e57806338d38c971461054157600080fd5b806316d3bc7f116103515780631fd19ee1116103205780631fd19ee11461049957806320f06fdc146104a157806321326849146104b4578063215b7a1c1461051357600080fd5b806316d3bc7f1461044757806318d139181461046b57806319f5cea81461047e5780631edd50981461048657600080fd5b80630a49cb031161038d5780630a49cb03146104045780630ae14b1b1461040c5780630c18c1621461042b578063155b6c6f1461043457600080fd5b806306c92657146103b4578063078f29cf146103cf5780630a2ca2a9146103ef575b600080fd5b6103bc6109ef565b6040519081526020015b60405180910390f35b6103d7610a1d565b6040516001600160a01b0390911681526020016103c6565b6104026103fd366004612551565b610a56565b005b6103d7610a73565b63773594005b60405167ffffffffffffffff90911681526020016103c6565b6103bc60655481565b6104026104423660046125a1565b610aa3565b606a54610412906c01000000000000000000000000900467ffffffffffffffff1681565b610402610479366004612551565b610ab9565b6103bc610aca565b61040261049436600461270b565b610af5565b6103d7610e6a565b6104026104af36600461287b565b610e94565b7f435553544f4d5f4741535f544f4b454e00000000000000000000000000000000600052606d6020527f3ec9a18bd22a834e2a13465cc2aa2a9aebb161ffdebf39cdb0028dbb1b5394b45460ff165b60405190151581526020016103c6565b6103d7610ea5565b61040261052936600461289f565b610ed5565b606c546103d7906001600160a01b031681565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c6565b6103d7610ee7565b6103d76110cb565b6105036105903660046128c9565b606d6020526000908152604090205460ff1681565b6103bc611152565b610412611182565b606a546105d19068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016103c6565b6103bc7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252601a81527f332e31342e302b6d61782d6761732d6c696d69742d323030304d000000000000602082015290516103c6919061292f565b6105036111a8565b6103bc6112ce565b6104026112f9565b610402610672366004612942565b61130d565b6103bc61131e565b6033546001600160a01b03166103d7565b61040261069e36600461295d565b611349565b6103d761135b565b6106b361138b565b6040516103c69190600060c0820190506001600160a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b606c546104129074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6103d761144e565b610402610756366004612942565b61147e565b6103bc61148f565b6068546105d19068010000000000000000900463ffffffff1681565b61040261078d36600461289f565b6114ba565b6103d76114cc565b6104026107a83660046128c9565b6114fc565b606a546105d190640100000000900463ffffffff1681565b6108896040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103c69190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546105d19063ffffffff1681565b6103bc606b5481565b6103d761150d565b6103d761153d565b6103bc611584565b6103bc60675481565b6068546105d1906c01000000000000000000000000900463ffffffff1681565b6103d76115af565b61040261096936600461298d565b611624565b61040261097c366004612551565b6116e4565b6103bc60665481565b6068546104129067ffffffffffffffff1681565b6103bc611771565b6103bc61179c565b606a546109d49074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020016103c6565b6103bc600081565b610a1a60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d6129ec565b81565b6000610a51610a4d60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad63776129ec565b5490565b905090565b610a5e6117cb565b610a706001600160a01b038216611825565b50565b6000610a51610a4d60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad6129ec565b610aab6117cb565b610ab58282611886565b5050565b610ac16117cb565b610a7081611978565b610a1a60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a86129ec565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610b35575060005460ff8083169116105b610bac5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610be56119d1565b610bed611a38565b610bf68c6116e4565b610bff89611825565b610c098b8b611abd565b610c1288611ba4565b610c3b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08889055565b610c6e610c6960017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc5986129ec565b869055565b610ca2610c9c60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce95806376129ec565b85519055565b610cd9610cd060017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a86129ec565b60208601519055565b610d10610d0760017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad63776129ec565b60408601519055565b610d47610d3e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad6129ec565b60608601519055565b610d7e610d7560017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d6129ec565b60808601519055565b610db5610dac60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd59006129ec565b60a08601519055565b610dbd611cc6565b610dc686611d2e565b606b839055606c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038416179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b6000610a517f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b610e9c6117cb565b610a7081612120565b6000610a51610a4d60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd59006129ec565b610edd6117cb565b610ab58282611abd565b600080610f127fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b03811615610f2857919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610f6b9190612a03565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610fc6906060015b604051602081830303815290604052805190602001205490565b14610ffd576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061101f90606001610fac565b90506001600160a01b0381161561109957806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110929190612a40565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606c54604080517f452a932000000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa15801561112e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190612a40565b6000610a51610a4d60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a06129ec565b606954600090610a519063ffffffff6a0100000000000000000000820481169116612a5d565b606c546040517f2e48152c000000000000000000000000000000000000000000000000000000008152600060048201819052916001600160a01b031690632e48152c90602401602060405180830381865afa15801561120b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122f9190612a89565b80610a515750606c546001600160a01b0316632e48152c61124e610a73565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190612a89565b610a1a60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce95806376129ec565b6113016117cb565b61130b600061218d565b565b6113156117cb565b610a70816121f7565b610a1a60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd59006129ec565b6113516117cb565b610ab5828261226a565b6000610a51610a4d60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d6129ec565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c001604052806113d061144e565b6001600160a01b031681526020016113e66114cc565b6001600160a01b031681526020016113fc610a1d565b6001600160a01b03168152602001611412610a73565b6001600160a01b0316815260200161142861135b565b6001600160a01b0316815260200161143e610ea5565b6001600160a01b03169052919050565b6000610a51610a4d60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce95806376129ec565b6114866117cb565b610a7081611ba4565b610a1a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc5986129ec565b6114c26117cb565b610ab58282612326565b6000610a51610a4d60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a86129ec565b6115046117cb565b610a7081611825565b6000610a51610a4d60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc5986129ec565b6000611547610ee7565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561112e573d6000803e3d6000fd5b610a1a60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a06129ec565b6000806115ba610a73565b9050806001600160a01b031663f2b4e6176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161e9190612a40565b91505090565b61162c6119d1565b6000828152606d602052604090205460ff1615158115150361167a576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152606d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415159081179091559051909184917fb876f6594132c89891d2fd198e925e999be741ec809abb58bfe9b966876cc06c9190a35050565b6116ec6117cb565b6001600160a01b0381166117685760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ba3565b610a708161218d565b610a1a60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad63776129ec565b610a1a60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad6129ec565b9055565b6033546001600160a01b0316331461130b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ba3565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161187a919061292f565b60405180910390a35050565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b1690921760208301526000910160408051601f19818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161196b919061292f565b60405180910390a3505050565b6119a17f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b604080516001600160a01b03831660208201526000910160408051601f1981840301815291905290506003611849565b336119da610ee7565b6001600160a01b031614158015611a015750336119f561153d565b6001600160a01b031614155b1561130b576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611ab55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ba3565b61130b6124a6565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b60408051601f198184030181529190529050600161193a565b611bac611182565b67ffffffffffffffff168167ffffffffffffffff161015611c0f5760405162461bcd60e51b815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610ba3565b637735940067ffffffffffffffff82161115611c6d5760405162461bcd60e51b815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610ba3565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611849565b611cf4610a4d60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a06129ec565b60000361130b5761130b611d2960017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a06129ec565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611dc45760405162461bcd60e51b815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610ba3565b6001816040015160ff1611611e415760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610ba3565b6068546080820151825167ffffffffffffffff90921691611e629190612aa6565b63ffffffff161115611eb65760405162461bcd60e51b815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610ba3565b6000816020015160ff1611611f335760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610ba3565b8051602082015163ffffffff82169160ff90911690611f53908290612ac5565b611f5d9190612b0f565b63ffffffff1614611fd65760405162461bcd60e51b815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610ba3565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b606a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040805160208082019390935281518082039093018352810190526007611849565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606c80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040805160208082019390935281518082039093018352810190526006611849565b7fff000000000000000000000000000000000000000000000000000000000000008116156123005760405162461bcd60e51b815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610ba3565b606582905560668190556040805160208101849052908101829052600090606001611b8b565b60018263ffffffff1610156123a35760405162461bcd60e51b815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610ba3565b60018163ffffffff1610156124205760405162461bcd60e51b815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610ba3565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316918616919091179190911790915560405160009161248d91602086811b67ffffffff0000000016909217910190815260200190565b60408051601f198184030181529190529050600461193a565b600054610100900460ff166125235760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ba3565b61130b3361218d565b6001600160a01b0381168114610a7057600080fd5b803561254c8161252c565b919050565b60006020828403121561256357600080fd5b813561256e8161252c565b9392505050565b803563ffffffff8116811461254c57600080fd5b803567ffffffffffffffff8116811461254c57600080fd5b600080604083850312156125b457600080fd5b6125bd83612575565b91506125cb60208401612589565b90509250929050565b60405160c0810167ffffffffffffffff8111828210171561261e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff8116811461254c57600080fd5b600060c0828403121561264757600080fd5b60405160c0810181811067ffffffffffffffff82111715612691577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508082356126a28161252c565b815260208301356126b28161252c565b602082015260408301356126c58161252c565b604082015260608301356126d88161252c565b606082015260808301356126eb8161252c565b608082015260a08301356126fe8161252c565b60a0919091015292915050565b60008060008060008060008060008060008b8d036102a081121561272e57600080fd5b8c356127398161252c565b9b5061274760208e01612575565b9a5061275560408e01612575565b995060608d0135985061276a60808e01612589565b975060a08d013561277a8161252c565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40820112156127ac57600080fd5b506127b56125d4565b6127c160c08e01612575565b81526127cf60e08e01612624565b60208201526127e16101008e01612624565b60408201526127f36101208e01612575565b60608201526128056101408e01612575565b60808201526101608d01356fffffffffffffffffffffffffffffffff8116811461282e57600080fd5b60a082015294506128426101808d01612541565b93506128528d6101a08e01612635565b92506102608c013591506128696102808d01612541565b90509295989b509295989b9093969950565b60006020828403121561288d57600080fd5b813561ffff8116811461256e57600080fd5b600080604083850312156128b257600080fd5b6128bb83612575565b91506125cb60208401612575565b6000602082840312156128db57600080fd5b5035919050565b6000815180845260005b81811015612908576020818501810151868301820152016128ec565b8181111561291a576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061256e60208301846128e2565b60006020828403121561295457600080fd5b61256e82612589565b6000806040838503121561297057600080fd5b50508035926020909101359150565b8015158114610a7057600080fd5b600080604083850312156129a057600080fd5b8235915060208301356129b28161297f565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156129fe576129fe6129bd565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a3b57612a3b6129bd565b500290565b600060208284031215612a5257600080fd5b815161256e8161252c565b600067ffffffffffffffff808316818516808303821115612a8057612a806129bd565b01949350505050565b600060208284031215612a9b57600080fd5b815161256e8161297f565b600063ffffffff808316818516808303821115612a8057612a806129bd565b600063ffffffff80841680612b03577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff80831681851681830481118215151615612b3257612b326129bd565b0294935050505056fea164736f6c634300080f000a", + "nonce": "0x9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf08c90b962698c0eb227a1076475ae1f623e48b5b379ac5a8e436db6d07afbae", + "transactionType": "CREATE", + "contractName": "DisputeGameFactory", + "contractAddress": "0x9cacf701ef24b8339cd1fdecadde7c080373fb29", + "function": null, + "arguments": null, + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x226a11", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611e14610105600039600081816102580152610cd00152611e146000f3fe60806040526004361061016a5760003560e01c80636593dc6e116100cb57806396cd97201161007f578063c4d66de811610059578063c4d66de81461047b578063dad544e01461049b578063f2fde38b146104b057600080fd5b806396cd9720146103e7578063b107095714610407578063bb8aa1fc1461042757600080fd5b806374cc86ac116100b057806374cc86ac1461039657806382ecf2f6146103b65780638da5cb5b146103c957600080fd5b80636593dc6e14610354578063715018a61461038157600080fd5b806338d38c97116101225780634d1975b4116101075780634d1975b41461029757806354fd4d50146102b65780635f0150cb1461030c57600080fd5b806338d38c97146102445780633e47158c1461028257600080fd5b80631b685b9e116101535780631b685b9e146101c15780631e334240146101f7578063254bd6831461021757600080fd5b80631011f3771461016f57806314f6b1a31461019f575b600080fd5b61018261017d36600461165f565b6104d0565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba3660046116fe565b610558565b005b3480156101cd57600080fd5b506101826101dc366004611735565b6065602052600090815260409020546001600160a01b031681565b34801561020357600080fd5b506101bf610212366004611750565b6105d5565b34801561022357600080fd5b5061023761023236600461177a565b610621565b6040516101969190611809565b34801561025057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610196565b34801561028e57600080fd5b50610182610802565b3480156102a357600080fd5b506068545b604051908152602001610196565b3480156102c257600080fd5b506102ff6040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161019691906118c6565b34801561031857600080fd5b5061032c6103273660046118d9565b6109e6565b604080516001600160a01b03909316835267ffffffffffffffff909116602083015201610196565b34801561036057600080fd5b506102a861036f366004611735565b60666020526000908152604090205481565b34801561038d57600080fd5b506101bf610a2c565b3480156103a257600080fd5b506102ff6103b1366004611735565b610a40565b6101826103c43660046118d9565b610ada565b3480156103d557600080fd5b506033546001600160a01b0316610182565b3480156103f357600080fd5b506102a86104023660046118d9565b610b53565b34801561041357600080fd5b506101bf610422366004611933565b610b8c565b34801561043357600080fd5b5061044761044236600461197e565b610c72565b6040805163ffffffff909416845267ffffffffffffffff90921660208401526001600160a01b031690820152606001610196565b34801561048757600080fd5b506101bf610496366004611997565b610cce565b3480156104a757600080fd5b50610182610e4b565b3480156104bc57600080fd5b506101bf6104cb366004611997565b610ebb565b60006104de87878787610f65565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b815260040161050f9291906119df565b6000604051808303818588803b15801561052857600080fd5b505af115801561053c573d6000803e3d6000fd5b505050505061054e878787878561119a565b9695505050505050565b610560611240565b63ffffffff821660008181526065602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b6105dd611240565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b60685460609083101580610633575081155b6107fb575060408051600583901b8101602001909152825b8381116107f957600060688281548110610667576106676119f3565b600091825260209091200154905060e081901c60a082901c67ffffffffffffffff166001600160a01b03831663ffffffff891683036107e857600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261070f9190810190611a51565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190611afe565b90506040518060a001604052808881526020018781526020018567ffffffffffffffff168152602001828152602001838152508860018a516107b79190611b46565b815181106107c7576107c76119f3565b6020026020010181905250888851106107e5575050505050506107f9565b50505b5050600019909201915061064b9050565b505b9392505050565b60008061082d7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b0381161561084357919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026108869190611b5d565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000091909117906108e1906060015b604051602081830303815290604052805190602001205490565b14610918576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061093a906060016108c7565b90506001600160a01b038116156109b457806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad9190611b7c565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060006109f787878787610b53565b6000908152606760205260409020546001600160a01b0381169860a09190911c67ffffffffffffffff16975095505050505050565b610a34611240565b610a3e60006112b4565b565b60696020526000908152604090208054610a5990611b99565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8590611b99565b8015610ad25780601f10610aa757610100808354040283529160200191610ad2565b820191906000526020600020905b815481529060010190602001808311610ab557829003601f168201915b505050505081565b6000610ae885858585610f65565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b5050505050610b4b858585858561119a565b949350505050565b600084848484604051602001610b6c9493929190611bec565b604051602081830303815290604052805190602001209050949350505050565b610b94611240565b63ffffffff8416600090815260656020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03881617905560699091529020610bef828483611c61565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610c649291906119df565b60405180910390a250505050565b600080600080600080610cbe60688881548110610c9157610c916119f3565b906000526020600020015460e081901c9160a082901c67ffffffffffffffff16916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610d0e575060005460ff8083169116105b610d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610dd861131e565b610de0611385565b610de9826112b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610e55610802565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb69190611b7c565b905090565b610ec3611240565b6001600160a01b038116610f59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610d96565b610f62816112b4565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610fc3576040517f031c6de400000000000000000000000000000000000000000000000000000000815263ffffffff87166004820152602401610d96565b63ffffffff86166000908152606660205260409020543414611011576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061101f87878787610b53565b6000818152606760205260409020549091501561106b576040517f014f6fe500000000000000000000000000000000000000000000000000000000815260048101829052602401610d96565b6000611078600143611b46565b63ffffffff89166000908152606960205260408120805492409350909161109e90611b99565b80601f01602080910402602001604051908101604052809291908181526020018280546110ca90611b99565b80156111175780601f106110ec57610100808354040283529160200191611117565b820191906000526020600020905b8154815290600101906020018083116110fa57829003601f168201915b50505050509050805160000361116b576111643389848a8a604051602001611143959493929190611d22565b60408051601f198184030181529190526001600160a01b0386169085611424565b945061118e565b61118b3389848c8b8b876040516020016111439796959493929190611d6f565b94505b50505050949350505050565b60006111a886868686610b53565b60008181526067602052604080822060e08a901b4260a01b17861790819055606880546001810182559084527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775301819055905192935091879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e3591a450505050505050565b6033546001600160a01b03163314610a3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d96565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b33611327610802565b6001600160a01b03161415801561134e575033611342610e4b565b6001600160a01b031614155b15610a3e576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1661141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610d96565b610a3e611433565b6000610b4b60008585856114d3565b600054610100900460ff166114ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610d96565b610a3e336112b4565b600060608303516040840351602085035185518060208801018051600283016c5af43d3d93803e606057fd5bf38a528a600d8b035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218b03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8b035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018b03528060f01b835288606c8201604c8c038ef5975050866115a05763301164256000526004601cfd5b90528652601f198601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0909301929092525092915050565b803563ffffffff8116811461161157600080fd5b919050565b60008083601f84011261162857600080fd5b50813567ffffffffffffffff81111561164057600080fd5b60208301915083602082850101111561165857600080fd5b9250929050565b6000806000806000806080878903121561167857600080fd5b611681876115fd565b955060208701359450604087013567ffffffffffffffff808211156116a557600080fd5b6116b18a838b01611616565b909650945060608901359150808211156116ca57600080fd5b506116d789828a01611616565b979a9699509497509295939492505050565b6001600160a01b0381168114610f6257600080fd5b6000806040838503121561171157600080fd5b61171a836115fd565b9150602083013561172a816116e9565b809150509250929050565b60006020828403121561174757600080fd5b6107fb826115fd565b6000806040838503121561176357600080fd5b61176c836115fd565b946020939093013593505050565b60008060006060848603121561178f57600080fd5b611798846115fd565b95602085013595506040909401359392505050565b60005b838110156117c85781810151838201526020016117b0565b838111156117d7576000848401525b50505050565b600081518084526117f58160208601602086016117ad565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156118b8578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051845287810151888501528681015167ffffffffffffffff16878501526060808201519085015260809081015160a0918501829052906118a4818601836117dd565b968901969450505090860190600101611830565b509098975050505050505050565b6020815260006107fb60208301846117dd565b600080600080606085870312156118ef57600080fd5b6118f8856115fd565b935060208501359250604085013567ffffffffffffffff81111561191b57600080fd5b61192787828801611616565b95989497509550505050565b6000806000806060858703121561194957600080fd5b611952856115fd565b93506020850135611962816116e9565b9250604085013567ffffffffffffffff81111561191b57600080fd5b60006020828403121561199057600080fd5b5035919050565b6000602082840312156119a957600080fd5b81356107fb816116e9565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b602081526000610b4b6020830184866119b4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611a6357600080fd5b815167ffffffffffffffff80821115611a7b57600080fd5b818401915084601f830112611a8f57600080fd5b815181811115611aa157611aa1611a22565b604051601f8201601f19908116603f01168101908382118183101715611ac957611ac9611a22565b81604052828152876020848701011115611ae257600080fd5b611af38360208301602088016117ad565b979650505050505050565b600060208284031215611b1057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611b5857611b58611b17565b500390565b6000816000190483118215151615611b7757611b77611b17565b500290565b600060208284031215611b8e57600080fd5b81516107fb816116e9565b600181811c90821680611bad57607f821691505b602082108103611be6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b63ffffffff8516815283602082015260606040820152600061054e6060830184866119b4565b601f821115611c5c57600081815260208120601f850160051c81016020861015611c395750805b601f850160051c820191505b81811015611c5857828155600101611c45565b5050505b505050565b67ffffffffffffffff831115611c7957611c79611a22565b611c8d83611c878354611b99565b83611c12565b6000601f841160018114611cc15760008515611ca95750838201355b600019600387901b1c1916600186901b178355611d1b565b600083815260209020601f19861690835b82811015611cf25786850135825560209485019460019092019101611cd2565b5086821015611d0f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008860601b1681528660148201528560348201527fffffffff000000000000000000000000000000000000000000000000000000008560e01b16605482015282846058830137600083820160588101600081528451611df28183602089016117ad565b919091016058019a995050505050505050505056fea164736f6c634300080f000a", + "nonce": "0xa", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd125e519f816488ab2501d9c90065efdd5658cc2de70c2ed28ca5ba73eb97db8", + "transactionType": "CREATE", + "contractName": "Proxy", + "contractAddress": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "function": null, + "arguments": [ + "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0xa6958", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", + "nonce": "0xb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x100a5cd", + "logs": [ + { + "address": "0xa53f56711a2f65c19c1542c98116b98fc07a9bb1", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0xc817ce27a351d42259bc848e36474703023b82fef08392bd2c73ccd61ddab0d5", + "blockNumber": "0xb2ef64", + "blockTimestamp": "0x6aac6c34", + "transactionHash": "0x49ca2b434cdada7afdc66f7db28cf29024f5cd5cfded694296e3be819c9070c7", + "transactionIndex": "0x9c", + "logIndex": "0xe7", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x49ca2b434cdada7afdc66f7db28cf29024f5cd5cfded694296e3be819c9070c7", + "transactionIndex": "0x9c", + "blockHash": "0xc817ce27a351d42259bc848e36474703023b82fef08392bd2c73ccd61ddab0d5", + "blockNumber": "0xb2ef64", + "gasUsed": "0x4095a3", + "effectiveGasPrice": "0x429592d7", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0xa53f56711a2f65c19c1542c98116b98fc07a9bb1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1189e66", + "logs": [ + { + "address": "0xaeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x383ea67e779a04aa29f001a46b3fd9cd6003cc67dd9687e88a600939594402c8", + "blockNumber": "0xb2ef6a", + "blockTimestamp": "0x6aac6c7c", + "transactionHash": "0x014ff4f9b1a162c4b8dbcdc5830c6187e9076caed87627b274a016bc1a07cecc", + "transactionIndex": "0x82", + "logIndex": "0x141", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000200000000000000000000000000000400000000000000000000000000000000000000000000000000000010000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x014ff4f9b1a162c4b8dbcdc5830c6187e9076caed87627b274a016bc1a07cecc", + "transactionIndex": "0x82", + "blockHash": "0x383ea67e779a04aa29f001a46b3fd9cd6003cc67dd9687e88a600939594402c8", + "blockNumber": "0xb2ef6a", + "gasUsed": "0x25ed54", + "effectiveGasPrice": "0x41c705e1", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0xaeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1331760", + "logs": [ + { + "address": "0x9cacf701ef24b8339cd1fdecadde7c080373fb29", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x383ea67e779a04aa29f001a46b3fd9cd6003cc67dd9687e88a600939594402c8", + "blockNumber": "0xb2ef6a", + "blockTimestamp": "0x6aac6c7c", + "transactionHash": "0xf08c90b962698c0eb227a1076475ae1f623e48b5b379ac5a8e436db6d07afbae", + "transactionIndex": "0x83", + "logIndex": "0x142", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf08c90b962698c0eb227a1076475ae1f623e48b5b379ac5a8e436db6d07afbae", + "transactionIndex": "0x83", + "blockHash": "0x383ea67e779a04aa29f001a46b3fd9cd6003cc67dd9687e88a600939594402c8", + "blockNumber": "0xb2ef6a", + "gasUsed": "0x1a78fa", + "effectiveGasPrice": "0x41c705e1", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0x9cacf701ef24b8339cd1fdecadde7c080373fb29" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8ffb91", + "logs": [ + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", + "blockHash": "0xfbb43062b690f1af5797afd64c51f8f9ba967e62499db6c26961a384bb5ebfef", + "blockNumber": "0xb2ef6b", + "blockTimestamp": "0x6aac6c88", + "transactionHash": "0xd125e519f816488ab2501d9c90065efdd5658cc2de70c2ed28ca5ba73eb97db8", + "transactionIndex": "0x59", + "logIndex": "0x71", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000100000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd125e519f816488ab2501d9c90065efdd5658cc2de70c2ed28ca5ba73eb97db8", + "transactionIndex": "0x59", + "blockHash": "0xfbb43062b690f1af5797afd64c51f8f9ba967e62499db6c26961a384bb5ebfef", + "blockNumber": "0xb2ef6b", + "gasUsed": "0x80244", + "effectiveGasPrice": "0x3ff59f85", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1789684873625, + "chain": 11155111, + "commit": "2a9b48c" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployCobaltProofImpls.s.sol/11155111/run-1789684910303.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployCobaltProofImpls.s.sol/11155111/run-1789684910303.json new file mode 100644 index 000000000..11256f535 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployCobaltProofImpls.s.sol/11155111/run-1789684910303.json @@ -0,0 +1,108 @@ +{ + "transactions": [ + { + "hash": "0x8f51c9eac73db04899ef34e3285383dcecfaae10b3f810a7174b04c865e4dbca", + "transactionType": "CREATE", + "contractName": "ProtocolVersions", + "contractAddress": "0x1a4c38c954bf25e0aa6831baa0de1497280e09fd", + "function": null, + "arguments": null, + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x201046", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bf6610105600039600081816101ba01526109ce0152611bf66000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c8063723d0096116100b2578063a2e62b5a11610081578063bcebe34b11610066578063bcebe34b1461013b578063dad544e0146102da578063f1149db8146102e257600080fd5b8063a2e62b5a146102a7578063a9679058146102ba57600080fd5b8063723d00961461025957806384dfa8931461026e57806387f6a390146102815780639259fa6b1461029457600080fd5b806337a329b0116101095780633e47158c116100ee5780633e47158c146101e457806354fd4d50146102115780635c4d37d21461025057600080fd5b806337a329b0146101a057806338d38c97146101b357600080fd5b80630c014f101461013b5780631589cfab1461016257806326fadbe21461018357806328c802cd14610198575b600080fd5b610144610e1081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610175610170366004611851565b6102f5565b604051908152602001610159565b61018b6104d4565b604051610159919061187b565b610175610560565b6101756101ae3660046118c9565b6105cd565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610159565b6101ec610607565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610159565b604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161015991906118e2565b61017560035481565b61026c6102673660046118c9565b610812565b005b61026c61027c366004611955565b610879565b61026c61028f3660046119a3565b6109cc565b61026c6102a2366004611955565b610df1565b6101756102b5366004611a31565b610fb4565b6004546101ec9073ffffffffffffffffffffffffffffffffffffffff1681565b6101ec6110bb565b61026c6102f0366004611a4c565b611138565b60006102ff6111ce565b60025460000361033b576040517f02600eca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015467ffffffffffffffff841615801590610375575061035e610e1042611a98565b67ffffffffffffffff168467ffffffffffffffff16105b156103bd576040517f32bb9c6f00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff851660048201526024015b60405180910390fd5b6103c78185611226565b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004820401805460039092166008026101000a67ffffffffffffffff02199091169055600280549091018155600090815260405182917fc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c85891a28367ffffffffffffffff1660000361046a5761046581611320565b610474565b6104748185611433565b82156104cd576fffffffffffffffffffffffffffffffff8311156104c4576040517f43fab7ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104cd836114d7565b9392505050565b6060600180548060200260200160405190810160405280929190818152602001828054801561055657602002820191906000526020600020906000905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105115790505b5050505050905090565b60025460009080820361059f576040517f02600eca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026105ac600183611ac4565b815481106105bc576105bc611adb565b906000526020600020015491505090565b60006105d88261150a565b60026105e5836001611b0a565b815481106105f5576105f5611adb565b90600052602060002001549050919050565b6000806106327fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81161561065557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026106989190611b22565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000091909117906106f3906060015b604051602081830303815290604052805190602001205490565b1461072a576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061074c906060016106d9565b905073ffffffffffffffffffffffffffffffffffffffff8116156107e0578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190611b5f565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081a6111ce565b80158061083657506fffffffffffffffffffffffffffffffff81115b1561086d576040517f43fab7ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610876816114d7565b50565b6108816111ce565b61088a8261150a565b60006001838154811061089f5761089f611adb565b6000918252602090912060048204015460039091166008026101000a900467ffffffffffffffff9081169150821681036108d857505050565b67ffffffffffffffff8116156108f2576108f28382611548565b67ffffffffffffffff8216158015906109295750610912610e1042611a98565b67ffffffffffffffff168267ffffffffffffffff16105b1561096c576040517f32bb9c6f00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff831660048201526024016103b4565b67ffffffffffffffff8216158061098b575067ffffffffffffffff8116155b156109995761099983611613565b67ffffffffffffffff8216156109bd576109b38383611226565b6109bd83836116bb565b6109c78383611433565b505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610a0c575060005460ff8083169116105b610a98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610ad16117b3565b811580610aed57506fffffffffffffffffffffffffffffffff82115b15610b24576040517f43fab7ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805460018101825560009182527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace018190555b83811015610d0a576000858583818110610b7557610b75611adb565b9050602002016020810190610b8a9190611a31565b90504267ffffffffffffffff168167ffffffffffffffff16118015610bcd5750610bb6610e1042611a98565b67ffffffffffffffff168167ffffffffffffffff16105b15610c10576040517f32bb9c6f00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff821660048201526024016103b4565b610c1a8282611226565b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004820401805460039092166008026101000a67ffffffffffffffff8181021990931692851602919091179055600280549091018155600090815260405183917fc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c85891a267ffffffffffffffff811615610cf75760405167ffffffffffffffff8216815282907f48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b247207919060200160405180910390a25b5080610d0281611b7c565b915050610b59565b50610d156000611320565b610d1e826114d7565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87169081179091556040516000907fb1c6dde58c72ae176c3481e130f3af63d9d7f9edc52f9c07ab80840f85f442ea908290a3600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b60045473ffffffffffffffffffffffffffffffffffffffff163314610e42576040517f13e7d9b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e4b8261150a565b600060018381548110610e6057610e60611adb565b60009182526020822060048204015460039091166008026101000a900467ffffffffffffffff169150819003610ec5576040517f52f383b6000000000000000000000000000000000000000000000000000000008152600481018490526024016103b4565b610ecf8382611548565b8067ffffffffffffffff168267ffffffffffffffff1611610f30576040517f64fc743100000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8083166004830152831660248201526044016103b4565b6000610f3e610e1042611a98565b90508067ffffffffffffffff168367ffffffffffffffff161015610f9a576040517f32bb9c6f00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff841660048201526024016103b4565b610fa484846116bb565b610fae8484611433565b50505050565b6002546000908103610ff2576040517f02600eca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001545b80156110a6576000600161100a8184611ac4565b8154811061101a5761101a611adb565b6000918252602090912060048204015460039091166008026101000a900467ffffffffffffffff169050801580159061106757508367ffffffffffffffff168167ffffffffffffffff1611155b15611093576002828154811061107f5761107f611adb565b906000526020600020015492505050919050565b508061109e81611bb4565b915050610ff6565b5060026000815481106105f5576105f5611adb565b60006110c5610607565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111339190611b5f565b905090565b6111406111ce565b60045460405173ffffffffffffffffffffffffffffffffffffffff8084169216907fb1c6dde58c72ae176c3481e130f3af63d9d7f9edc52f9c07ab80840f85f442ea90600090a3600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b336111d76110bb565b73ffffffffffffffffffffffffffffffffffffffff1614611224576040517f7f12c64b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b8067ffffffffffffffff1660000361123c575050565b815b80156109c757600060016112528184611ac4565b8154811061126257611262611adb565b6000918252602090912060048204015460039091166008026101000a900467ffffffffffffffff169050801561130d578067ffffffffffffffff168367ffffffffffffffff161015610fae57836112ba600184611ac4565b6040517fcb986e280000000000000000000000000000000000000000000000000000000081526004810192909252602482015267ffffffffffffffff8083166044830152841660648201526084016103b4565b508061131881611bb4565b91505061123e565b60015460028054600091908490811061133b5761133b611adb565b6000918252602090912001549050825b828110156114025781816001838154811061136857611368611adb565b600091825260209182902060048204015460408051938401959095529382019290925260039091166008026101000a90910467ffffffffffffffff1660608201526080016040516020818303038152906040528051906020012091508160028260016113d49190611b0a565b815481106113e4576113e4611adb565b600091825260209091200155806113fa81611b7c565b91505061134b565b5060405181907f3ce196af7f202b9a61978967a766a54245d6588745bc8f76226360f5a87085ea90600090a2505050565b806001838154811061144757611447611adb565b90600052602060002090600491828204019190066008026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550817f48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791826040516114c2919067ffffffffffffffff91909116815260200190565b60405180910390a26114d382611320565b5050565b600381905560405181907fafb29e5c7f4fc4818c2ffe01313f20873fbb8d3ecb8c231226be562b9a11e57f90600090a250565b6001548110610876576040517fded31283000000000000000000000000000000000000000000000000000000008152600481018290526024016103b4565b8067ffffffffffffffff164267ffffffffffffffff16106115a8576040517f9f927e2c0000000000000000000000000000000000000000000000000000000081526004810183905267ffffffffffffffff821660248201526044016103b4565b67ffffffffffffffff81166115bf610e1042611a98565b67ffffffffffffffff16106114d3576040517fb18153c80000000000000000000000000000000000000000000000000000000081526004810183905267ffffffffffffffff821660248201526044016103b4565b6000611620826001611b0a565b90505b6001548110156114d3576001818154811061164057611640611adb565b6000918252602090912060048204015460039091166008026101000a900467ffffffffffffffff16156116a9576040517f212e820300000000000000000000000000000000000000000000000000000000815260048101839052602481018290526044016103b4565b806116b381611b7c565b915050611623565b8067ffffffffffffffff166000036116d1575050565b60006116de836001611b0a565b90505b6001548110156109c75760006001828154811061170057611700611adb565b6000918252602090912060048204015460039091166008026101000a900467ffffffffffffffff16905080156117a0578067ffffffffffffffff168367ffffffffffffffff161115610fae576040517f76b91f41000000000000000000000000000000000000000000000000000000008152600481018590526024810183905267ffffffffffffffff8085166044830152821660648201526084016103b4565b50806117ab81611b7c565b9150506116e1565b336117bc610607565b73ffffffffffffffffffffffffffffffffffffffff16141580156117fd5750336117e46110bb565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611224576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803567ffffffffffffffff8116811461184c57600080fd5b919050565b6000806040838503121561186457600080fd5b61186d83611834565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156118bd57835167ffffffffffffffff1683529284019291840191600101611897565b50909695505050505050565b6000602082840312156118db57600080fd5b5035919050565b600060208083528351808285015260005b8181101561190f578581018301518582016040015282016118f3565b81811115611921576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000806040838503121561196857600080fd5b8235915061197860208401611834565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461087657600080fd5b600080600080606085870312156119b957600080fd5b84356119c481611981565b9350602085013567ffffffffffffffff808211156119e157600080fd5b818701915087601f8301126119f557600080fd5b813581811115611a0457600080fd5b8860208260051b8501011115611a1957600080fd5b95986020929092019750949560400135945092505050565b600060208284031215611a4357600080fd5b6104cd82611834565b600060208284031215611a5e57600080fd5b81356104cd81611981565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115611abb57611abb611a69565b01949350505050565b600082821015611ad657611ad6611a69565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008219821115611b1d57611b1d611a69565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611b5a57611b5a611a69565b500290565b600060208284031215611b7157600080fd5b81516104cd81611981565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bad57611bad611a69565b5060010190565b600081611bc357611bc3611a69565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea164736f6c634300080f000a", + "nonce": "0xc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf3dc29ba1f9340629fd182af1800efffc1aa2f4e71138a410c1b2841e9680498", + "transactionType": "CREATE", + "contractName": "AggregateVerifier", + "contractAddress": "0xc1a5acb64e439a04017a526e3d8e5d3e79846448", + "function": null, + "arguments": [ + "621", + "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355", + "0xD6e2d9D4f1f8865AC983eE848983fb1979429914", + "0x92F6dD3501E51B8b20C77b959becaaebeB210e17", + "0xa738E13d97A3f10b307C2CD190edd3E227A72D68", + "0xe8dc2300cf325b2527cbfa5e664a70acc40a9f2fc0617bd35cdfa61652a5fc30", + "(0x7713943c2c2412314b135c5606cdb3923a54f7555d91d9f31c2f64e34e16f2f4, 0x002663a1072dc1e1938e13d3b269fff88e843eb4ef76d6c6953dde4f5152973b)", + "0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360", + "84532", + "600", + "30", + "(0x15B721B12CF3b0C4400c8a2935A0Ae391c2eF65b, 0, 1695768288, 2)" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x529563", + "value": "0x0", + "input": "0x6102c06040523480156200001257600080fd5b506040516200514238038062005142833981016040819052620000359162000333565b82158062000041575081155b806200005757506200005482846200041e565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b80606001516001600160401b0316600003620000b357604051637ccf8b6960e01b815260040160405180910390fd5b63ffffffff8c16610280526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa15801562000109573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012f919062000435565b6001600160a01b0390811660a0528a811660c05289811660e05288811661012052610100889052865161014052602087810151610160526101808790526101a08690528201516101c05260408201516001600160401b039081166101e052606083015116610200526102208490526102408390528151166102a052620001b4620001e5565b620001c190602062000472565b620001ce90608e62000494565b6102605250620004c69a5050505050505050505050565b60006102405161022051620001fb9190620004af565b905090565b6001600160a01b03811681146200021657600080fd5b50565b8051620002268162000200565b919050565b6000604082840312156200023e57600080fd5b604080519081016001600160401b03811182821017156200026f57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b80516001600160401b03811681146200022657600080fd5b600060808284031215620002b457600080fd5b604051608081016001600160401b0381118282101715620002e557634e487b7160e01b600052604160045260246000fd5b80604052508091508251620002fa8162000200565b815260208381015190820152620003146040840162000289565b6040820152620003276060840162000289565b60608201525092915050565b6000806000806000806000806000806000806102008d8f0312156200035757600080fd5b8c5163ffffffff811681146200036c57600080fd5b9b506200037c60208e0162000219565b9a506200038c60408e0162000219565b99506200039c60608e0162000219565b9850620003ac60808e0162000219565b975060a08d01519650620003c48e60c08f016200022b565b95506101008d015194506101208d015193506101408d015192506101608d01519150620003f68e6101808f01620002a1565b90509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b60008262000430576200043062000408565b500690565b6000602082840312156200044857600080fd5b8151620004558162000200565b9392505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156200048f576200048f6200045c565b500290565b60008219821115620004aa57620004aa6200045c565b500190565b600082620004c157620004c162000408565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051614a74620006ce60003960008181610b280152611d52015260008181610b9601528181611e340152612f2e015260006116060152600081816108800152818161255601528181613ca20152613cdd01526000818161065a015281816119a701528181611a0801526125770152600081816103a101528181611bbe0152611c720152600081816109d801528181611be20152611c9e015260008181610d1601528181611b0b01528181611b600152611b9301526000610970015260008181610cc201528181613e4d015261402b015260008181610a0c015261412b0152600081816109a4015261404c015260008181610abc0152818161285f0152818161335f01526140fa01526000818161045701528181613e6e0152613f72015260008181610507015281816128fd015281816132700152613f43015260008181610c3601528181610f2b0152818161106001526121440152600061093c0152600081816107de015281816117380152818161190501528181611e5c015281816122a8015281816123f9015281816124e001528181612fa701528181613078015281816131300152818161344901528181613502015281816135b901526136720152614a746000f3fe60806040526004361061038a5760003560e01c80636dc86e81116101dc578063addecc0611610102578063c26783e9116100a0578063d28cb06f1161006f578063d28cb06f14610cb0578063e41f96ad14610ce4578063f629dbb514610d04578063fa24f74314610d3857600080fd5b8063c26783e914610c24578063cf09e0d014610c58578063cfcf984b14610c79578063d1ee5e4b14610c9957600080fd5b8063b97cb80f116100dc578063b97cb80f14610b5f578063bbdc02db14610b7f578063bcef3b5514610bc0578063bdb337d114610c0057600080fd5b8063addecc0614610ade578063aef2f96e14610b16578063b74df35a14610b4a57600080fd5b80638417d3c21161017a5780639730163d116101495780639730163d14610a2e5780639840fd8414610a4457806399735e3214610a6a5780639ded395214610aaa57600080fd5b80638417d3c21461095e57806387d34f1614610992578063895dbafe146109c6578063908cb80e146109fa57600080fd5b8063786b844b116101b6578063786b844b146108cc5780637a6bc9e1146108e157806380f323a71461091457806382ff53a11461092a57600080fd5b80636dc86e811461086e57806370872aa5146108a257806374f8bf32146108b757600080fd5b806328c802cd116102c157806349edf35a1161025f5780635c0cba331161022e5780635c0cba33146107cf578063609d3334146108025780636361506d1461081757806364d121361461085757600080fd5b806349edf35a146107235780634e95eb581461074357806354fd4d501461075957806357da950e1461079f57600080fd5b806337b1b2291161029b57806337b1b2291461067c5780633fada3fd146106bc5780634224b1e7146106ee578063423161821461070157600080fd5b806328c802cd1461061c578063324a13c91461063257806335c4377b1461064857600080fd5b80631f8375741161032e578063250e69bd11610308578063250e69bd1461059157806325fc2ace146105d15780632810e1d6146105e65780632845e5bb146105fb57600080fd5b80631f837574146104f5578063200d2ed21461052957806323edb2e01461056457600080fd5b806310fbee281161036a57806310fbee28146104875780631333db2e1461049c57806319effeb4146104b35780631ee5d7c8146104e057600080fd5b80622134cc1461038f578062821de3146103e15780630183fd4414610445575b600080fd5b34801561039b57600080fd5b506103c37f000000000000000000000000000000000000000000000000000000000000000081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103ed57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036074013560601c5b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103d8565b34801561045157600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016103d8565b34801561049357600080fd5b50610479600181565b3480156104a857600080fd5b506104b1610d61565b005b3480156104bf57600080fd5b506000546103c39068010000000000000000900467ffffffffffffffff1681565b3480156104ec57600080fd5b506104206111bf565b34801561050157600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561053557600080fd5b5060005461055790700100000000000000000000000000000000900460ff1681565b6040516103d891906143ee565b34801561057057600080fd5b506003546104209073ffffffffffffffffffffffffffffffffffffffff1681565b34801561059d57600080fd5b506000546105c1907201000000000000000000000000000000000000900460ff1681565b60405190151581526020016103d8565b3480156105dd57600080fd5b50600154610479565b3480156105f257600080fd5b50610557611203565b34801561060757600080fd5b506007546103c39067ffffffffffffffff1681565b34801561062857600080fd5b5061047960085481565b34801561063e57600080fd5b5061047960055481565b34801561065457600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b34801561068857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610420565b3480156106c857600080fd5b506003546105c19074010000000000000000000000000000000000000000900460ff1681565b6104b16106fc366004614451565b61157b565b34801561070d57600080fd5b506107166121c6565b6040516103d89190614509565b34801561072f57600080fd5b5061047961073e366004614523565b6121e5565b34801561074f57600080fd5b5061047961010081565b34801561076557600080fd5b5060408051808201909152600581527f302e322e300000000000000000000000000000000000000000000000000000006020820152610716565b3480156107ab57600080fd5b506001546002546107ba919082565b604080519283526020830191909152016103d8565b3480156107db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610420565b34801561080e57600080fd5b50610716612275565b34801561082357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360340135610479565b34801561086357600080fd5b506103c36201518081565b34801561087a57600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b3480156108ae57600080fd5b50600254610479565b3480156108c357600080fd5b5061042061229a565b3480156108d857600080fd5b506104b16122a6565b3480156108ed57600080fd5b506003546105c1907501000000000000000000000000000000000000000000900460ff1681565b34801561092057600080fd5b5061047960045481565b34801561093657600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561096a57600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b34801561099e57600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b3480156109d257600080fd5b506103c37f000000000000000000000000000000000000000000000000000000000000000081565b348015610a0657600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b348015610a3a57600080fd5b50610479611fff81565b348015610a5057600080fd5b5061042071f90827f1c53a10cb7a02335b17532000293581565b348015610a7657600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135610479565b348015610ab657600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b348015610aea57600080fd5b50600754610b049068010000000000000000900460ff1681565b60405160ff90911681526020016103d8565b348015610b2257600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b348015610b5657600080fd5b5061047961254f565b348015610b6b57600080fd5b506104b1610b7a36600461453c565b61259b565b348015610b8b57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103d8565b348015610bcc57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360140135610479565b348015610c0c57600080fd5b506007544267ffffffffffffffff90911611156105c1565b348015610c3057600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b348015610c6457600080fd5b506000546103c39067ffffffffffffffff1681565b348015610c8557600080fd5b506104b1610c94366004614451565b612986565b348015610ca557600080fd5b506103c36206978081565b348015610cbc57600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b348015610cf057600080fd5b506104b1610cff36600461453c565b612b47565b348015610d1057600080fd5b506104797f000000000000000000000000000000000000000000000000000000000000000081565b348015610d4457600080fd5b50610d4d612f27565b6040516103d89392919061458d565b905090565b600268929eee149b4bd212685403610d815763ab143c066000526004601cfd5b600268929eee149b4bd21268556003547501000000000000000000000000000000000000000000900460ff1615610de4576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075467ffffffffffffffff90811614610e595760005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003610e54576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610eb6565b60005467ffffffffffffffff16610e7390621275006145ea565b67ffffffffffffffff16421015610eb6576040517f04643c3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035474010000000000000000000000000000000000000000900460ff16610fce57600354600480546040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610f7157600080fd5b505af1158015610f85573d6000803e3d6000fd5b5050600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055506111b09050565b6003805475010000000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff821617909155600480546040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b50506003546004546040516000945073ffffffffffffffffffffffffffffffffffffffff9092169250908381818185875af1925050503d806000811461111c576040519150601f19603f3d011682016040523d82523d6000602084013e611121565b606091505b505090508061115c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460045460405190815273ffffffffffffffffffffffffffffffffffffffff909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b60018111156111d7576111d76143bf565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff16919050565b600080600054700100000000000000000000000000000000900460ff166002811115611231576112316143bf565b14611268576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611272612f8e565b90506000816002811115611288576112886143bf565b036112bf576040517f92c506ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160028111156112d3576112d36143bf565b0361131857600080547fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167001000000000000000000000000000000001790556114cc565b611320613223565b15611344575050600054700100000000000000000000000000000000900460ff1690565b6007544267ffffffffffffffff909116111561138c576040517f04643c3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075460016801000000000000000090910460ff1610156113d9576040517f344de4bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005541561149057600080547fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167001000000000000000000000000000000001781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556114cc565b600080547fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167002000000000000000000000000000000001790555b600080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da60916115549170010000000000000000000000000000000090910460ff16906143ee565b60405180910390a15050600054700100000000000000000000000000000000900460ff1690565b60005471010000000000000000000000000000000000900460ff16156115cd576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602060016115dd8483614616565b6115e7919061462e565b6115f19190614674565b6115fc906020614688565b905060008161162c7f00000000000000000000000000000000000000000000000000000000000000006040614616565b6116369190614616565b905080361461164d57639824bdab6000526004601cfd5b611684367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b61169b600161169161254f565b61073e919061462e565b14611721576116ad600161169161254f565b6116e1367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b6040517ff33fa6cf000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036074013560601c1461190357367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036074013560601c6117c881613401565b6117fe576040517f346119f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051806040016040528061187b8373ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611857573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168191906146c5565b81526020018273ffffffffffffffffffffffffffffffffffffffff166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ef91906146c5565b90528051600155602001516002555061199e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa15801561196d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199191906146de565b8051600155602001516002555b6002546119cc907f000000000000000000000000000000000000000000000000000000000000000090614616565b367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013514611a9657600254611a2d907f000000000000000000000000000000000000000000000000000000000000000090614616565b367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356040517f087b2d7600000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401611718565b600080547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff1671010000000000000000000000000000000000178155611b0760547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c9003013590565b90507f0000000000000000000000000000000000000000000000000000000000000000811015611b8c576040517fa70efcf7000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000000000000000000000000000000000000000000006024820152604401611718565b6000611bb87f00000000000000000000000000000000000000000000000000000000000000008361462e565b905060007f0000000000000000000000000000000000000000000000000000000000000000611c0f7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff614754565b611c19919061477d565b67ffffffffffffffff16905080821115611c62576040517fa1d6b34700000000000000000000000000000000000000000000000000000000815260048101849052602401611718565b6000611c9867ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001684614688565b611cc2907f00000000000000000000000000000000000000000000000000000000000000006145ea565b9050428167ffffffffffffffff161115611d1a576040517f3680a67800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff82166004820152426024820152604401611718565b6040517fa2e62b5a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a2e62b5a90602401602060405180830381865afa158015611dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd291906146c5565b600855600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff16179055604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff16917f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1691633c9f397c916004808201926020929091908290030181865afa158015611ebd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee191906147a4565b600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1663ffffffff92909216929092147201000000000000000000000000000000000000021781556007805467ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911617905588888281611f7057611f706147ca565b919091013560f81c90506001811115611f8b57611f8b6143bf565b90506000611f9d602160018b8d6147f9565b611fa691614823565b90506000611fb8604160218c8e6147f9565b611fc191614823565b9050611fcd8282613770565b612084611fdd8b6041818f6147f9565b85367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c60015487905b600254612049367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561207f6121c6565b6139c8565b6120bb83367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c613a9a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000167ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90033560601c179055346004818155604080517fd0e30db000000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169363d0e30db093909280820192600092909182900301818588803b1580156121a057600080fd5b505af11580156121b4573d6000803e3d6000fd5b50505050505050505050505050505050565b6060610d5c60886121d561254f565b6121e0906020614688565b613ba4565b60006121ef61254f565b8210612227576040517fa6c661fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61226f612235836020614688565b612240906088614616565b367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003013590565b92915050565b6060610d5c605461228461254f565b61228f906020614688565b6121e0906034614616565b600060068160016111c6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612311573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612335919061485f565b1561236c576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036123c8576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630314d2b390602401602060405180830381865afa158015612455573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612479919061485f565b9050806124b2576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906317cf21a990602401600060405180830381600087803b15801561253957600080fd5b505af192505050801561254a575060015b505b50565b6000610d5c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614674565b60008054700100000000000000000000000000000000900460ff1660028111156125c7576125c76143bf565b146125fe576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084846000818110612613576126136147ca565b919091013560f81c9050600181111561262e5761262e6143bf565b90506000600681836001811115612647576126476143bf565b6001811115612658576126586143bf565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff16036126b857806040517f25822d380000000000000000000000000000000000000000000000000000000081526004016117189190614881565b600554156127705760016005546126cf919061462e565b8314612707576040517fa6c661fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710836121e5565b821461272057816116e1846121e5565b6001816001811115612734576127346143bf565b1461276b576040517f69ed70ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61277a565b61277a8383613bf6565b600080600061278886613c77565b9194509250905061280061279f886001818c6147f9565b86336127d5367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b88888c898e6040516020016127ec91815260200190565b6040516020818303038152906040526139c8565b61280984613d10565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115612858576128586143bf565b036128e2577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156128c557600080fd5b505af11580156128d9573d6000803e3d6000fd5b5050505061297c565b60008460018111156128f6576128f66143bf565b0361297c577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561296357600080fd5b505af1158015612977573d6000803e3d6000fd5b505050505b5050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156129b2576129b26143bf565b146129e9576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007544267ffffffffffffffff90911611612a30576040517fdf469ccb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082826000818110612a4557612a456147ca565b919091013560f81c90506001811115612a6057612a606143bf565b90506000600681836001811115612a7957612a796143bf565b6001811115612a8a57612a8a6143bf565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1614612aea57806040517f7141297a0000000000000000000000000000000000000000000000000000000081526004016117189190614881565b612b38612afa83600181876147f9565b8333612b30367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b600154612012565b612b428133613a9a565b505050565b60008054700100000000000000000000000000000000900460ff166002811115612b7357612b736143bf565b14612baa576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bb330613401565b612be9576040517f57e25a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001612bf3612f8e565b6002811115612c0457612c046143bf565b03612c3b576040517f346119f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85473ffffffffffffffffffffffffffffffffffffffff16612cb55760006040517f25822d380000000000000000000000000000000000000000000000000000000081526004016117189190614881565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a315473ffffffffffffffffffffffffffffffffffffffff1615612d315760016040517f7141297a0000000000000000000000000000000000000000000000000000000081526004016117189190614881565b600084846000818110612d4657612d466147ca565b919091013560f81c90506001811115612d6157612d616143bf565b90506001816001811115612d7757612d776143bf565b14612dae576040517f69ed70ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612db88383613bf6565b6000806000612dc686613c77565b91945092509050612ddd61279f886001818c6147f9565b3360066000866001811115612df457612df46143bf565b6001811115612e0557612e056143bf565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760088282829054906101000a900460ff16612e709190614895565b92506101000a81548160ff021916908360ff1602179055506206978067ffffffffffffffff1642612ea19190614616565b600780547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055612ee5866001614616565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360140135612f83612275565b925092509250909192565b600073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036074013560601c1461321d576000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036074013560601c6040517f34a346ea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156130c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e5919061485f565b8061319b57506040517f5958a19300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015613177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061319b919061485f565b156131a857600191505090565b8073ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321791906148ba565b91505090565b50600290565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85473ffffffffffffffffffffffffffffffffffffffff16158015906132fd57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9df65eb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132fd919061485f565b156133125761330c6000613d10565b50600190565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a315473ffffffffffffffffffffffffffffffffffffffff16158015906133ec57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9df65eb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ec919061485f565b156133fb5761330c6001613d10565b50600090565b6040517fee658e4500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015613492573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b6919061485f565b801561356d57506040517f04e50fed00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015613549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356d919061485f565b801561362657506040517f34a346ea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613624919061485f565b155b80156136df57506040517f5958a19300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa1580156136b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136dd919061485f565b155b801561226f575060018273ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015613733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375791906148ba565b6002811115613768576137686143bf565b141592915050565b4381106137b2576040517f25bfb0a400000000000000000000000000000000000000000000000000000000815260048101829052436024820152604401611718565b6000806137bf834361462e565b905061010081116137d3578240915061393f565b611fff81116139045760008071f90827f1c53a10cb7a02335b17532000293573ffffffffffffffffffffffffffffffffffffffff168560405160200161381b91815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052613853916148db565b600060405180830381855afa9150503d806000811461388e576040519150601f19603f3d011682016040523d82523d6000602084013e613893565b606091505b50915091508115806138a757508051602014155b156138e7576040517f0f0b8f8100000000000000000000000000000000000000000000000000000000815260048101869052436024820152604401611718565b808060200190518101906138fb91906146c5565b9350505061393f565b6040517f0f0b8f8100000000000000000000000000000000000000000000000000000000815260048101849052436024820152604401611718565b8161397f576040517f0f0b8f8100000000000000000000000000000000000000000000000000000000815260048101849052436024820152604401611718565b8382146139c2576040517f80b1ae510000000000000000000000000000000000000000000000000000000081526004810185905260248101839052604401611718565b50505050565b6001891015613a03576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000886001811115613a1757613a176143bf565b03613a3257613a2d8a8a89898989898989613e42565b613a8e565b6001886001811115613a4657613a466143bf565b03613a5c57613a2d8a8a89898989898989614020565b6040517f69ed70ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050505050565b8060066000846001811115613ab157613ab16143bf565b6001811115613ac257613ac26143bf565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760088282829054906101000a900460ff16613b2d9190614895565b92506101000a81548160ff021916908360ff160217905550613b4d6141cc565b816001811115613b5f57613b5f6143bf565b60405173ffffffffffffffffffffffffffffffffffffffff8316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b613bfe61254f565b8210613c36576040517fa6c661fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80613c40836121e5565b0361254a576040517fbbcafae600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080808415613c9557613c9061073e60018761462e565b613c99565b6001545b90506000613cc77f000000000000000000000000000000000000000000000000000000000000000087614688565b600254613cd49190614616565b90506000613d027f0000000000000000000000000000000000000000000000000000000000000000836145ea565b929791965091945092505050565b60066000826001811115613d2657613d266143bf565b6001811115613d3757613d376143bf565b8152602081019190915260400160002080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556001816001811115613d8157613d816143bf565b03613d8c5760006005555b60075468010000000000000000900460ff16600003613dd7576040517f344de4bf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff6801000000000000000080840482169290920116027fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff90911617905561254c6142b4565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600854604051602001613ea99a999897969594939291906148f7565b6040516020818303038152906040528051906020012090506000888b8b604051602001613ed8939291906149a5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fab750e75000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590613f9c9084907f00000000000000000000000000000000000000000000000000000000000000009087906004016149e4565b602060405180830381865afa158015613fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fdd919061485f565b614013576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006008546040516020016140879a999897969594939291906148f7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905280516020909101207fab750e75000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590614155908d908d907f0000000000000000000000000000000000000000000000000000000000000000908790600401614a09565b602060405180830381865afa158015614172573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614196919061485f565b613a8e576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006141d661436c565b90507fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000167ffffffffffffffff82160161423e5750600780547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff179055565b600061424a82426145ea565b6007549091506142779067ffffffffffffffff808416911667ffffffffffffffff16808218908211021890565b600780547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790555050565b60006142be61436c565b90507fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000167ffffffffffffffff8216016143265750600780547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff179055565b61433081426145ea565b600780547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550565b60075460009060026801000000000000000090910460ff161061439157506201518090565b60075468010000000000000000900460ff166001036143b257506206978090565b5067ffffffffffffffff90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310614402576144026143bf565b91905290565b60008083601f84011261441a57600080fd5b50813567ffffffffffffffff81111561443257600080fd5b60208301915083602082850101111561444a57600080fd5b9250929050565b6000806020838503121561446457600080fd5b823567ffffffffffffffff81111561447b57600080fd5b61448785828601614408565b90969095509350505050565b60005b838110156144ae578181015183820152602001614496565b838111156139c25750506000910152565b600081518084526144d7816020860160208601614493565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061451c60208301846144bf565b9392505050565b60006020828403121561453557600080fd5b5035919050565b6000806000806060858703121561455257600080fd5b843567ffffffffffffffff81111561456957600080fd5b61457587828801614408565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006145b260608301846144bf565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681851680830382111561460d5761460d6145bb565b01949350505050565b60008219821115614629576146296145bb565b500190565b600082821015614640576146406145bb565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261468357614683614645565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146c0576146c06145bb565b500290565b6000602082840312156146d757600080fd5b5051919050565b6000604082840312156146f057600080fd5b6040516040810181811067ffffffffffffffff8211171561473a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600067ffffffffffffffff83811690831681811015614775576147756145bb565b039392505050565b600067ffffffffffffffff8084168061479857614798614645565b92169190910492915050565b6000602082840312156147b657600080fd5b815163ffffffff8116811461451c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000808585111561480957600080fd5b8386111561481657600080fd5b5050820193919092039150565b8035602083101561226f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561487157600080fd5b8151801515811461451c57600080fd5b6020810160028310614402576144026143bf565b600060ff821660ff84168060ff038211156148b2576148b26145bb565b019392505050565b6000602082840312156148cc57600080fd5b81516003811061451c57600080fd5b600082516148ed818460208701614493565b9190910192915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008b60601b16815289601482015288603482015260007fffffffffffffffff000000000000000000000000000000000000000000000000808a60c01b16605484015288605c840152808860c01b16607c84015250855161497e816084850160208a01614493565b608492019182019490945260a481019290925260c482015260e40198975050505050505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b168152818360148301376000910160140190815292915050565b6060815260006149f760608301866144bf565b60208301949094525060400152919050565b6060815283606082015283856080830137600060808583010152600060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f87011683010190508360208301528260408301529594505050505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000d6e2d9d4f1f8865ac983ee848983fb197942991400000000000000000000000092f6dd3501e51b8b20c77b959becaaebeb210e17000000000000000000000000a738e13d97a3f10b307c2cd190edd3e227a72d68e8dc2300cf325b2527cbfa5e664a70acc40a9f2fc0617bd35cdfa61652a5fc307713943c2c2412314b135c5606cdb3923a54f7555d91d9f31c2f64e34e16f2f4002663a1072dc1e1938e13d3b269fff88e843eb4ef76d6c6953dde4f5152973b12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000015b721b12cf3b0c4400c8a2935a0ae391c2ef65b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065135ee00000000000000000000000000000000000000000000000000000000000000002", + "nonce": "0xd", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe23f5c", + "logs": [ + { + "address": "0x1a4c38c954bf25e0aa6831baa0de1497280e09fd", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x96018c0fc215aefe85eaff872f23c4e1f0b1f7a1b4b993d37326f666fc819a9d", + "blockNumber": "0xb2ef6d", + "blockTimestamp": "0x6aac6ca0", + "transactionHash": "0x8f51c9eac73db04899ef34e3285383dcecfaae10b3f810a7174b04c865e4dbca", + "transactionIndex": "0x7b", + "logIndex": "0xce", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8f51c9eac73db04899ef34e3285383dcecfaae10b3f810a7174b04c865e4dbca", + "transactionIndex": "0x7b", + "blockHash": "0x96018c0fc215aefe85eaff872f23c4e1f0b1f7a1b4b993d37326f666fc819a9d", + "blockNumber": "0xb2ef6d", + "gasUsed": "0x18aa0f", + "effectiveGasPrice": "0x42fe744b", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0x1a4c38c954bf25e0aa6831baa0de1497280e09fd" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbd3e1f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf3dc29ba1f9340629fd182af1800efffc1aa2f4e71138a410c1b2841e9680498", + "transactionIndex": "0x52", + "blockHash": "0x9be24d5d5a0e14a03af4a13532d71f589e07051f4ed3bd69aa8b35d7f98c4822", + "blockNumber": "0xb2ef6e", + "gasUsed": "0x3f869b", + "effectiveGasPrice": "0x3f60f3f7", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0xc1a5acb64e439a04017a526e3d8e5d3e79846448" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1789684910303, + "chain": 11155111, + "commit": "2a9b48c" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployNitroValidatorStack.s.sol/11155111/run-1789684993259.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployNitroValidatorStack.s.sol/11155111/run-1789684993259.json new file mode 100644 index 000000000..a6256b41c --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployNitroValidatorStack.s.sol/11155111/run-1789684993259.json @@ -0,0 +1,154 @@ +{ + "transactions": [ + { + "hash": "0xf16d08cbac718e78a828ba89fa263e9316e7716810707e9abb004e6ad96caab8", + "transactionType": "CREATE", + "contractName": "P384Verifier", + "contractAddress": "0xa8320712ff181d74e719ff7e6e1012bbe4687b26", + "function": null, + "arguments": null, + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x223ba7", + "value": "0x0", + "input": "0x6080604052348015600e575f80fd5b50611e4a8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063ee974d151461002d575b5f80fd5b61004061003b366004611bcf565b610054565b604051901515815260200160405180910390f35b5f610069610060610072565b8686868661018d565b95945050505050565b6100b26040518060e00160405280606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b604080516101408101909152603060e082018181528291611dae6101008401398152602001604051806060016040528060308152602001611cee603091398152602001604051806060016040528060308152602001611d7e603091398152602001604051806060016040528060308152602001611d1e603091398152602001604051806060016040528060308152602001611e0e603091398152602001604051806060016040528060308152602001611dde603091398152602001604051806060016040528060308152602001611d4e603091399052919050565b5f8061019e8787878787600161021c565b845191935091508114610212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f756e7573656420696e76657273652068696e747300000000000000000000000060448201526064015b60405180910390fd5b5095945050505050565b5f8061024560405180608001604052805f81526020015f81526020015f81526020015f81525090565b61024e876104dd565b6020830152815261025e866104dd565b6060830152604080830191909152805160e0810190915289515f919081906102859061058d565b81526020016102978c6020015161058d565b81526020016102a98c6040015161058d565b81526020016102bb8c6060015161058d565b81526020016102cd8c6080015161058d565b81526020016102df8c60a0015161058d565b81526020016102f18c60c0015161058d565b905290505f8561030d576103088260800151610621565b61031b565b61031b826080015188610712565b835160208101519051919250159015168061034657505f610343845f01518460a00151610743565b12155b80610363575061036383602001515f602082015191511591141690565b8061037e57505f61037c84602001518460c00151610743565b135b1561039c575f610390826104c0015190565b945094505050506104d2565b6103bd818360800151845f01518560200151876040015188606001516107e9565b6103ce575f610390826104c0015190565b8951603081101561041157604080516030808252606082019092525f916020820181803683375091925061040e91505060208d01838303605001846108bf565b9a505b505f61042f826104208d61058d565b86602001518660a001516108cd565b90505f61044983865f015187602001518760a001516108cd565b90505f61045660036109dd565b90505f61048085876080015184895f01518a604001518b606001518d604001518e606001516109fd565b905061049885876080015184895f0151858989610be6565b508094505050506104ae83838660a00151610dd4565b84516020808201519084015191518451149114166104c08401519650965050505050505b965096945050505050565b5f80825160601461054a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f553338343a206e6f7420373638000000000000000000000000000000000000006044820152606401610209565b604080516080810182529250820190505f825260208301516010830152603083015160208301525f81526050830151601082015260608301516020820152915091565b5f81516030146105f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f553338343a206e6f7420333834000000000000000000000000000000000000006044820152606401610209565b6040805180820190915290505f81526020820151601082015260308201516020820152919050565b5f61063461050060408051918201905290565b905061066a8261064460026109dd565b602082810151908201518103610420860181905291519251911191900303610400830152565b6060610120820152602061014082018190526040610160830181905260016101e0840152835161020084015283820180516102208501526102408401829052610260840192909252610280830181905283516103008401528151610320840152610360830181905261038083018190526103a0830152915161044082015290516104608201525f61048082018190526104a082018190526104c082018190526104e082015290565b5f61071c83610621565b6020830161048082015291516104a0830152505f6104c082015260016104e0820152919050565b815181515f91908082111561075d576001925050506107e3565b8082101561078f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff925050506107e3565b505060208381015190830151808211156107ae576001925050506107e3565b808210156107e0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff925050506107e3565b50505b92915050565b602082015182515f91159015168061080a57505f6108078488610743565b12155b8061081c575060208201518251159015165b8061083057505f61082d8388610743565b12155b1561083c57505f6108b5565b5f61084988846002610e20565b90505f61085889866003610e20565b60208801518851919250159015166108825761087f816108798b888b610e65565b8a610f56565b90505b602086015186511590151661089f5761089c81878a610f56565b90505b6020818101519083015191519251911491141690505b9695505050505050565b8082828560045afa50505050565b5f6108d9858484610fb8565b905061099e8482876060018251602093840151835193850151608081811c6fffffffffffffffffffffffffffffffff80851682810294821695841c86810287830280871c820188810180891b9287169290920160408d01528c8402878c02958e0297909402998b02988210921191909101861b90861c018601878101858101958610981196119590950195909501831b82841c01850184810180851b939092169290920198870198909852959093029086109190941001811b93901c92909201019052565b60608552602085602001526040856040015260018560c0015281518560e0015260208201518561010001526040816101208760055afa50949350505050565b5f6109ee6040808051918201905290565b5f815260208101929092525090565b610a05611a8e565b610a0e836110e3565b610a17836110e3565b6020808401519081019190915252610a2e856110e3565b610a37856110e3565b6101008301516020810191909152525f5b6008811015610bd9575f5b6008811015610bd057600281830110610bc857600382901b81178215610b1e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830160031b8217610adf8d8d8d8d898660408110610ab457610ab4611c88565b6020020151518a8760408110610acc57610acc611c88565b6020020151600160200201518f8f611109565b868460408110610af157610af1611c88565b6020020151878560408110610b0857610b08611c88565b6020020151600160200201919091525250610bc6565b600383901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830117610b8b8d8d8d8d898660408110610b6057610b60611c88565b6020020151518a8760408110610b7857610b78611c88565b6020020151600160200201518d8d611109565b868460408110610b9d57610b9d611c88565b6020020151878560408110610bb457610bb4611c88565b60200201516001602002019190915252505b505b600101610a53565b50600101610a48565b5098975050505050505050565b815181515f918291829190610bff8c8c8c8c8780611232565b9095509350690ffffffffffffffffff860b483901c1660b782901c1792508215610c6d57610c678c8c8c8c8c8860408110610c3c57610c3c611c88565b6020020151518d8960408110610c5457610c54611c88565b6020020151600160200201518b8b611109565b90955093505b60045b60b88111610d0257610c868d8d8d8d8a8a6112f0565b80965081975050508060b80382901c60071660038260b80385901c600716901b179350835f14610cfa57610cf48d8d8d8d8d8960408110610cc957610cc9611c88565b6020020151518e8a60408110610ce157610ce1611c88565b6020020151600160200201518c8c611109565b90965094505b600301610c70565b50505060208581015190850151610d1d8c8c8c8c8989611232565b9095509350600860fc83901c1660ff82901c1792508215610d5757610d518c8c8c8c8c8860408110610c3c57610c3c611c88565b90955093505b60045b6101008111610dc457610d718d8d8d8d8a8a6112f0565b8096508197505050806101000382901c6007166003826101000385901c600716901b179350835f14610dbc57610db68d8d8d8d8d8960408110610cc957610cc9611c88565b90965094505b600301610d5a565b5050505097509795505050505050565b604083526020836020015260408360400152815183606001526020820151836080015260018360a0015280518360c0015260208101518360e001526040826101008560055afa50505050565b5f610e316040808051918201905290565b9050610240840193508251846060015260208301518460800152818460a001526040816101008660055afa505b9392505050565b5f610e766040808051918201905290565b9050610f3c838361018087018251602093840151835193850151608081811c6fffffffffffffffffffffffffffffffff80851682810294821695841c86810287830280871c820188810180891b9287169290920160408d01528c8402878c02958e0297909402998b02988210921191909101861b90861c018601878101858101958610981196119590950195909501831b82841c01850184810180851b939092169290920198870198909852959093029086109190941001811b93901c92909201019052565b610120840193506040816101208660055afa509392505050565b5f610f676040808051918201905290565b6020858101518582015181019183018290528551875101911001815290505f610f908284610743565b12610e5e57602080820180519184015182039081905283518351929091119103038152610e5e565b5f610fc5846104e0015190565b1561105e57610fd3846114cc565b90505f610fe285858486611585565b60208101518151919250600114901516611058576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f62616420696e76657273652068696e74000000000000000000000000000000006044820152606401610209565b50610e5e565b506040805180820190915261109b8261107760026109dd565b60208281015190820151810360c089018190529151925191119190030360a0860152565b604084526040846020015260408460400152825184606001526020830151846080015281518460e0015260208201518461010001526040816101208660055afa509392505050565b5f6110f46040808051918201905290565b90508151815260208201516020820152919050565b5f80851580611116575083155b1561116e5785158015611127575083155b1561113657505f905080611225565b851561115357611145866110e3565b61114e866110e3565b611165565b61115c846110e3565b611165846110e3565b91509150611225565b602084810151908701518551885114911416156111b457602083810151908601518451875114911416156111aa576111658a8a8a8a8a8a611232565b505f905080611225565b5f6111c086858c61165b565b90505f6111ce88878d61165b565b90506111db8c83836116db565b6111e78c836002610e20565b93506111f484898d6117c6565b6111ff84878d6117c6565b61120a88858d61165b565b92506112178c8484611841565b61122283888d6117c6565b50505b9850989650505050505050565b5f80835f0361124557505f9050806104d2565b60208301518351159015161561125f57505f9050806104d2565b5f61126c89866002610e20565b9050611279898289611841565b61128481878a61191d565b5f61128f858a611972565b905061129c8a83836116db565b6112a88a836002610e20565b93506112b584878b6117c6565b6112c084878b6117c6565b6112cb86858b61165b565b92506112d88a8484611841565b6112e383868b6117c6565b5050965096945050505050565b5f80835f0361130357505f9050806104d2565b60208301518351159015161561131d57505f9050806104d2565b5f61132a89866002610e20565b9050611337898289611841565b61134281878a61191d565b5f61134d858a611972565b905061135a8a83836116db565b6113668a836002610e20565b935061137384878b6117c6565b61137e84878b6117c6565b61138986858b61165b565b92506113968a8484611841565b6113a183868b6117c6565b6020830151835115901516156113be575f809350935050506104d2565b6113cb8a838660026119d2565b6113d68a838a611841565b6113e182888b61191d565b6113ec81848b611a02565b6113f78a83836116db565b6114048a878460026119d2565b61140f86858b6117c6565b61141a86858b6117c6565b6114268585888c611a21565b6114318a8684611841565b61143c85848b6117c6565b602085015185511590151615611459575f809350935050506104d2565b6114668a838860026119d2565b6114718a838a611841565b61147c82888b61191d565b61148781868b611a02565b6114928a83836116db565b61149f8a858460026119d2565b6114aa84878b6117c6565b6114b584878b6117c6565b6114c18387868c611a21565b6112d88a8484611841565b6104c08101516104a08201515f9190806114e7836030611cb5565b111561154f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f696e76657273652068696e7420756e646572666c6f77000000000000000000006044820152606401610209565b50604080518082019091526104808401518201805160801c825260100151602082015260309091016104c0909301929092525090565b5f6115966040808051918201905290565b905061099e8484876060018251602093840151835193850151608081811c6fffffffffffffffffffffffffffffffff80851682810294821695841c86810287830280871c820188810180891b9287169290920160408d01528c8402878c02958e0297909402998b02988210921191909101861b90861c018601878101858101958610981196119590950195909501831b82841c01850184810180851b939092169290920198870198909852959093029086109190941001811b93901c92909201019052565b5f61166c6040808051918201905290565b90505f6116798585610743565b126116a25760208085015181850151810391830182905284518651929091109103038152610e5e565b60208481015183820151810183830181815285518851019282109290920180855292860151810391829052855191119103038152610e5e565b826116e8816104e0015190565b15611790575f6116f7856114cc565b90505f611705868584610e65565b6020810151815191925060011490151661177b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f62616420696e76657273652068696e74000000000000000000000000000000006044820152606401610209565b815184526020820151602085015250506117b5565b6103608401935081518460600152602082015184608001526040826101208660055afa505b6117c0818484611841565b50505050565b5f6117d18484610743565b126117fd575060208281018051918301518203908190529151835191909211919003039052565b505050565b61181f8382602082810180519183015182019081905291518351019110019052565b5060208281018051918301518203908190529151835191909211919003039052565b611905828261018086018251602093840151835193850151608081811c6fffffffffffffffffffffffffffffffff80851682810294821695841c86810287830280871c820188810180891b9287169290920160408d01528c8402878c02958e0297909402998b02988210921191909101861b90861c018601878101858101958610981196119590950195909501831b82841c01850184810180851b939092169290920198870198909852959093029086109190941001811b93901c92909201019052565b610120830192506040826101208560055afa50505050565b61193f8383602082810180519183015182019081905291518351019110019052565b5f61194a8483610743565b126117f857602080840180519183015182039081905282518551929091119103038352505050565b5f6119836040808051918201905290565b6020808501518551600190811b60ff83901c1784521b9082015290505f6119aa8284610743565b126107e3576020808201805191840151820390819052835183519290911191030381526107e3565b610240840193508151846060015260208201518460800152808460a001526040836101008660055afa5050505050565b6020808301518351600190811b60ff83901c1786521b9084015261193f565b5f611a2c8484610743565b12611a5557602080840151818401518103918601829052835185519290911091030384526117c0565b602083810151828201518101868301818152845187510192821092909201808852928501518103918290528451911191030384526117c0565b6040518061080001604052806040905b611aa6611abc565b815260200190600190039081611a9e5790505090565b60405180604001604052806002906020820280368337509192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112611b16575f80fd5b813567ffffffffffffffff811115611b3057611b30611ada565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715611b9c57611b9c611ada565b604052818152838201602001851015611bb3575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611be2575f80fd5b843567ffffffffffffffff811115611bf8575f80fd5b611c0487828801611b07565b945050602085013567ffffffffffffffff811115611c20575f80fd5b611c2c87828801611b07565b935050604085013567ffffffffffffffff811115611c48575f80fd5b611c5487828801611b07565b925050606085013567ffffffffffffffff811115611c70575f80fd5b611c7c87828801611b07565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b808201808211156107e3577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffdfeb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5fffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffcffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffffa164736f6c634300081a000a", + "nonce": "0xe", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x52b1bf4bafb918310b538962a8a5de09cb0326579ad85b91f50932412994e918", + "transactionType": "CREATE", + "contractName": "CertManager", + "contractAddress": "0x50521128e3eb8708f05129d7b7283737d55a1936", + "function": null, + "arguments": [ + "0xa8320712fF181D74e719Ff7E6E1012bbe4687b26", + "0x646132A1667ca7aD00d36616AFBA1A28116C770A", + "0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x6a444d", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516161ca3803806161ca83398101604081905261002e9161027c565b6001600160a01b0383166100885760405162461bcd60e51b815260206004820152601560248201527f6d697373696e6720503338342076657269666965720000000000000000000000604482015260640160405180910390fd5b6001600160a01b0382166100af576040516349e27cff60e01b815260040160405180910390fd5b6001600160a01b0381166100d657604051632c8c06e360e11b815260040160405180910390fd5b6001600160a01b038381166080908152600480546001600160a01b03199081168685161790915560058054909116928416929092179091556040805160a081018252600181526396258ff56020808301919091525f19828401527f3c3e2e5f1dd14dee5db88341ba71521e939afdb7881aa24c9f1e1c007a2fa8b660608084019190915283518086019094528084526101a0947f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f185949084019290919061616a908301399052610212565b6040516001600160a01b038316905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36040516001600160a01b038216905f907f99f8e0b3045f0b2f05192da79e25a5564759735adfee8dd3a642ba1093a7c936908290a3505050610463565b805160208083015160408085015160608601516080870151925161023b969592939192016102c6565b60408051601f198184030181529181525f8481526020819052209061026090826103a9565b505050565b6001600160a01b0381168114610279575f80fd5b50565b5f805f6060848603121561028e575f80fd5b835161029981610265565b60208501519093506102aa81610265565b60408501519092506102bb81610265565b809150509250925092565b85151560f81b815260c085811b6001600160c01b031916600183015284901b60098201526011810183905281515f908060208501603185015e5f92016031019182525095945050505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061033a57607f821691505b60208210810361035857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561026057805f5260205f20601f840160051c810160208510156103835750805b601f840160051c820191505b818110156103a2575f815560010161038f565b5050505050565b81516001600160401b038111156103c2576103c2610312565b6103d6816103d08454610326565b8461035e565b6020601f821160018114610408575f83156103f15750848201515b5f19600385901b1c1916600184901b1784556103a2565b5f84815260208120601f198516915b828110156104375787850151825560209485019460019092019101610417565b508482101561045457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b608051615ce86104825f395f818161030e01526120530152615ce85ff3fe608060405234801561000f575f80fd5b50600436106101b0575f3560e01c80638cb50c44116100f3578063ab68988d11610093578063af9bdbc21161006e578063af9bdbc21461048b578063c59e43e5146104b2578063f2fde38b146104c5578063f69a82fe146104d8575f80fd5b8063ab68988d1461043c578063ad1fd8bd14610451578063aeb255ea14610464575f80fd5b80639083dd9d116100ce5780639083dd9d146103e85780639c3256ed146103fb5780639ce4db621461040e5780639ecc005014610421575f80fd5b80638cb50c441461038e5780638da5cb5b146103a15780638fb57b62146103c1575f80fd5b80634294857f1161015e5780634e33f7ca116101395780634e33f7ca1461030957806358e3139e146103305780635ab709041461035457806377f2dd741461037b575f80fd5b80634294857f14610299578063441b31df146102bb5780634519a352146102e2575f80fd5b806328c546371161018e57806328c5463714610202578063328a93e81461022257806335dec5d114610254575f80fd5b8063031cf067146101b45780630890702c146101da5780632075ae04146101ed575b5f80fd5b6101c76101c23660046153a3565b6104ff565b6040519081526020015b60405180910390f35b6101c76101e8366004615410565b610525565b6102006101fb366004615452565b610558565b005b610215610210366004615410565b6105d7565b6040516101d191906154b5565b610244610230366004615452565b60036020525f908152604090205460ff1681565b60405190151581526020016101d1565b6005546102749073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d1565b6102446102a7366004615452565b5f9081526003602052604090205460ff1690565b6101c77f3c3e2e5f1dd14dee5db88341ba71521e939afdb7881aa24c9f1e1c007a2fa8b681565b6101c77f6351d72a43cb42fb9a2531a28608c278c89629f8f025b5f5dc705f3fe45e950a81565b6102747f000000000000000000000000000000000000000000000000000000000000000081565b61033b6396258ff581565b60405167ffffffffffffffff90911681526020016101d1565b6101c77fbd74344bb507daeb9ed315bc535f24a236ccab72c5cd6945fb0efe5c037e209781565b6102156103893660046153a3565b610632565b61020061039c366004615452565b61067b565b6004546102749073ffffffffffffffffffffffffffffffffffffffff1681565b6101c77f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f18581565b6102006103f6366004615506565b61068d565b610215610409366004615452565b61076f565b61020061041c366004615539565b6107aa565b6104295f1981565b60405160079190910b81526020016101d1565b610444610803565b6040516101d191906155aa565b6101c761045f3660046155bc565b61081f565b6101c77f45529d8772b07ebd6d507a1680da791f4a2192882bf89d518801579f7a5167d281565b6101c77f53ce037f0dfaa43ef13b095f04e68a6b5e3f1519a01a3203a1e6440ba915b87e81565b6104446104c0366004615452565b610861565b6102006104d3366004615506565b6108f8565b6101c77fb60fee1fd85f867dd7c8d16884a49a20287ebe4c0fb49294e9825988aa8e42b481565b5f8061050a856109da565b905061051a858260018787610abc565b5090505b9392505050565b5f6040517fd587652000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610560610e81565b5f8181526003602052604090205460ff16156105d4575f8181526003602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339183917f875e80e04c071a07000116daf291ae83b2e0b2f016b5369482c5b855dfd846979190a35b50565b6040805160a0810182525f80825260208201819052818301819052606080830191909152608082015281517fd58765200000000000000000000000000000000000000000000000000000000081529151909181900360040190fd5b6040805160a0810182525f8082526020820181905291810182905260608082019290925260808101919091526106738461066b866109da565b5f8686610abc565b949350505050565b61068481610ed4565b6105d481610f0b565b610695610e81565b73ffffffffffffffffffffffffffffffffffffffff81166106e2576040517f59180dc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f99f8e0b3045f0b2f05192da79e25a5564759735adfee8dd3a642ba1093a7c936905f90a3600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040805160a0810182525f8082526020820181905291810182905260608082019290925260808101919091526107a482610f87565b92915050565b5f5b818110156107fe576107d58383838181106107c9576107c96155ee565b90506020020135610ed4565b6107f68383838181106107ea576107ea6155ee565b90506020020135610f0b565b6001016107ac565b505050565b604051806080016040528060608152602001615c7c6060913981565b5f8061082a836110ff565b905061083b8382600360fc1b61110a565b5f61084684836111a9565b90506108578482600360fc1b61110a565b6106738482611247565b5f60208190529081526040902080546108799061561b565b80601f01602080910402602001604051908101604052809291908181526020018280546108a59061561b565b80156108f05780601f106108c7576101008083540402835291602001916108f0565b820191905f5260205f20905b8154815290600101906020018083116108d357829003601f168201915b505050505081565b610900610e81565b73ffffffffffffffffffffffffffffffffffffffff811661094d576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b805160208201205f907fcee269032a3a1f3308d10ab71d1582b3f32ac5283b33b6198b8e512be29e0e7b8101610a3257507f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f18592915050565b5f610a3c846110ff565b9050610a4d8482600360fc1b61110a565b8351610a5882611345565b14610a7657604051632aaefa3360e21b815260040160405180910390fd5b5f610a8185836111a9565b9050610a928582600360fc1b61110a565b610ab369ffffffffffffffffffff8216610aab83611345565b879190611389565b95945050505050565b6040805160a080820183525f8083526020808401829052838501829052606080850183905260808086018290528651948501875283855291840183905294830182905282850191909152810192909252907f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f1858614610c4e57610b3d84610f87565b90505f81608001515111610b985760405162461bcd60e51b815260206004820152601660248201527f706172656e74206365727420756e76657269666965640000000000000000000060448201526064015b60405180910390fd5b610ba1846113ef565b8051610bef5760405162461bcd60e51b815260206004820152601760248201527f706172656e742063657274206973206e6f7420612043410000000000000000006044820152606401610b8f565b841580610c025750604081015160070b15155b610c4e5760405162461bcd60e51b815260206004820152601360248201527f6d6178506174684c656e206578636565646564000000000000000000000000006044820152606401610b8f565b5f610c5887610f87565b90508060800151515f14610db557610c77610c728861151a565b61157c565b602081015167ffffffffffffffff16421115610cd55760405162461bcd60e51b815260206004820152600c60248201527f63657274206578706972656400000000000000000000000000000000000000006044820152606401610b8f565b8051151586151514610d295760405162461bcd60e51b815260206004820152601060248201527f63657274206973206e6f742061204341000000000000000000000000000000006044820152606401610b8f565b7f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f1858714610dac575f878152600160205260409020548514610dac5760405162461bcd60e51b815260206004820152601460248201527f706172656e742063657274206d69736d617463680000000000000000000000006044820152606401610b8f565b9150610ab39050565b5f610dc2898885886115da565b9092509050610dd1888361175b565b15610e1e5760405162461bcd60e51b815260206004820152600f60248201527f726f6f74206365727420616c69617300000000000000000000000000000000006044820152606401610b8f565b610e278161157c565b610e31888361181e565b5f88815260016020908152604080832089905560029091528082208390555189917f694e63280ec3524c75db17994cf1341b1dbc3efa9f68ad3f4b8da1f00804828e91a250979650505050505050565b60045473ffffffffffffffffffffffffffffffffffffffff163314610ed2576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b7fcee269032a3a1f3308d10ab71d1582b3f32ac5283b33b6198b8e512be29e0e7b8101610f03576105d4610e81565b6105d461188a565b5f8181526003602052604090205460ff1615610f245750565b5f8181526003602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551339183917fd583933aeca95bc15deb9ec8cbfb68dde382b5f3e2d26d7a331e7d7e62d3732d9190a350565b6040805160a0810182525f8082526020808301829052828401829052606080840183905260808401528482528190529182208054919291610fc79061561b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff39061561b565b801561103e5780601f106110155761010080835404028352916020019161103e565b820191905f5260205f20905b81548152906001019060200180831161102157829003601f168201915b5050505050905080515f036110895750506040805160a0810182525f808252602080830182905282840182905260608301829052835190810190935282526080810191909152919050565b600181015160098201516011830151603180850151855190915f916110bc91906110b4908290615699565b8891906118db565b6040805160a08101825260ff9097161515875267ffffffffffffffff909516602087015260079390930b9385019390935260608401526080830152509392505050565b5f6107a4825f61199c565b7fff0000000000000000000000000000000000000000000000000000000000000081168369ffffffffffffffffffff84168151811061114b5761114b6155ee565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016146107fe576040517f90cb89b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8269ffffffffffffffffffff8316815181106111c8576111c86155ee565b01602001517f200000000000000000000000000000000000000000000000000000000000000090811614611228576040517f0a4ae2b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61051e83605084901c69ffffffffffffffffffff1661199c565b61199c565b5f8061125384846111a9565b90505f6112608583611cc3565b905061128d85827f020000000000000000000000000000000000000000000000000000000000000061110a565b5f6112988683611cc3565b90505f6112a58783611cc3565b90506112b68782600360fc1b61110a565b5f6112d98869ffffffffffffffffffff605087901c81169060a088901c16611389565b90505f61130a605084901c69ffffffffffffffffffff1660a085901c69ffffffffffffffffffff165b8b9190611389565b604080516020810183905290810184905290915060600160405160208183030381529060405280519060200120965050505050505092915050565b5f69ffffffffffffffffffff8216605083901c69ffffffffffffffffffff1660a084901c69ffffffffffffffffffff1661137f91906156ac565b6107a49190615699565b82515f9061139783856156ac565b11156113e55760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610b8f565b5091016020012090565b80156114e857611401610c728261151a565b5f61140b82610f87565b90508060800151515f0361144b576040517ff01bc33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015167ffffffffffffffff164211156114a95760405162461bcd60e51b815260206004820152600c60248201527f63657274206578706972656400000000000000000000000000000000000000006044820152606401610b8f565b7fcee269032a3a1f3308d10ab71d1582b3f32ac5283b33b6198b8e512be29e0e7b82016114d4575050565b505f908152600160205260409020546113ef565b6040517ff01bc33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f1858214611555575f828152600260205260409020546107a4565b7f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f18592915050565b5f8181526003602052604090205460ff16156105d45760405162461bcd60e51b815260206004820152600c60248201527f63657274207265766f6b656400000000000000000000000000000000000000006044820152606401610b8f565b6040805160a0810182525f8082526020820181905291810182905260608082018390526080820152908061160d876110ff565b9050865161161a82611345565b1461163857604051632aaefa3360e21b815260040160405180910390fd5b5f61164388836111a9565b90505f805f805f6116558d878e611ce9565b94509450945094509450828b60600151146116b25760405162461bcd60e51b815260206004820152601960248201527f697373756572202f207375626a656374206d69736d61746368000000000000006044820152606401610b8f565b6116bc8d87611247565b97505f8b6040015160070b1380156116ea57505f8460070b12806116ea57508a6040015160070b8460070b12155b156117035760018b6040015161170091906156bf565b93505b6117138d878d608001518d611f04565b6040518060a001604052808d151581526020018667ffffffffffffffff1681526020018560070b81526020018381526020018281525098505050505050505094509492505050565b5f7f311d96fcd5c5e0ccf72ef548e2ea7d4c0cd53ad7c4cc49e67471aed41d61f185831480159061178a575081515b80156117b9575060608201517f3c3e2e5f1dd14dee5db88341ba71521e939afdb7881aa24c9f1e1c007a2fa8b6145b80156117e25750604051806080016040528060608152602001615c7c6060913951826080015151145b801561051e5750604051806080016040528060608152602001615c7c606091398051906020012082608001518051906020012014905092915050565b80516020808301516040808501516060860151608087015192516118479695929391920161571c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181525f848152602081905220906107fe90826157c2565b60055473ffffffffffffffffffffffffffffffffffffffff163314610ed2576040517f2ad3d44f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82516060906118ea83856156ac565b11156119385760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610b8f565b8167ffffffffffffffff811115611951576119516152ae565b6040519080825280601f01601f19166020018201604052801561197b576020820181803683370190505b50905060208082019085850101611993828286612123565b50509392505050565b81515f906119ab8360016156ac565b106119c957604051632aaefa3360e21b815260040160405180910390fd5b8282815181106119db576119db6155ee565b01602001517f1f000000000000000000000000000000000000000000000000000000000000009081169003611a3c576040517f720059ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8084611a4a8560016156ac565b81518110611a5a57611a5a6155ee565b01602001517f8000000000000000000000000000000000000000000000000000000000000000165f03611abf5784611a938560016156ac565b81518110611aa357611aa36155ee565b016020015160f81c9150611ab88460026156ac565b9050611c86565b5f85611acc8660016156ac565b81518110611adc57611adc6155ee565b60209101015160f81c607f169050801580611afa575060208160ff16115b80611b1d5750855160ff8216611b118760026156ac565b611b1b91906156ac565b115b15611b3b57604051632aaefa3360e21b815260040160405180910390fd5b85611b478660026156ac565b81518110611b5757611b576155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000165f03611b9d57604051632aaefa3360e21b815260040160405180910390fd5b8060ff16600103611bd35785611bb48660026156ac565b81518110611bc457611bc46155ee565b016020015160f81c9250611c47565b8060ff16600203611bfe57611bf3611bec8660026156ac565b8790612197565b61ffff169250611c47565b611c0981602061589b565b611c149060086158b4565b60ff16611c2f87611c268860026156ac565b8460ff166121ff565b901c925067ffffffffffffffff831115611c47575f80fd5b6080831015611c6957604051632aaefa3360e21b815260040160405180910390fd5b60ff8116611c788660026156ac565b611c8291906156ac565b9150505b8451611c9283836156ac565b1115611cb157604051632aaefa3360e21b815260040160405180910390fd5b605081901b841760a083901b17610ab3565b5f61051e8361124269ffffffffffffffffffff60a086901c811690605087901c166156ac565b5f8080806060611cfe8888600360fc1b61110a565b5f80611d0a8a8a6111a9565b9050611d378a827fa00000000000000000000000000000000000000000000000000000000000000061110a565b5f611d428b83611cc3565b9050611d6f8b827f020000000000000000000000000000000000000000000000000000000000000061110a565b611d798b82611cc3565b92505f611d868c846111a9565b9050611da969ffffffffffffffffffff60a085901c811690605086901c166156ac565b611dca69ffffffffffffffffffff60a084901c811690605085901c166156ac565b14611de857604051632aaefa3360e21b815260040160405180910390fd5b611df28c8261223c565b600214611e2b576040517f85f6c88f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050611e3d8982603060f81b61110a565b7f53ce037f0dfaa43ef13b095f04e68a6b5e3f1519a01a3203a1e6440ba915b87e611e8c605083901c69ffffffffffffffffffff1660a084901c69ffffffffffffffffffff165b8c9190611389565b14611ec3576040517fa54c832500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611eef898289611eea69ffffffffffffffffffff60a08e901c81169060508f901c166156ac565b61227c565b939d929c50909a509850909650945050505050565b5f611f0f8585611cc3565b9050611f208582600360fc1b61110a565b7f53ce037f0dfaa43ef13b095f04e68a6b5e3f1519a01a3203a1e6440ba915b87e611f638669ffffffffffffffffffff605085901c81169060a086901c16611389565b14611f9a576040517fa54c832500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611fa58683611cc3565b90508551611fb282611345565b611fc89069ffffffffffffffffffff84166156ac565b14611fe657604051632aaefa3360e21b815260040160405180910390fd5b5f6120068769ffffffffffffffffffff881661200189611345565b6124b4565b90505f61201388846125db565b6040517fee974d1500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063ee974d159061208e90859085908b908b906004016158d7565b602060405180830381865afa1580156120a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120cd9190615923565b6121195760405162461bcd60e51b815260206004820152600b60248201527f696e76616c6964207369670000000000000000000000000000000000000000006044820152606401610b8f565b5050505050505050565b6020811061215b578151835261213a6020846156ac565b92506121476020836156ac565b9150612154602082615699565b9050612123565b80156107fe575f600161216f836020615699565b61217b90610100615a1d565b6121859190615699565b83518551821691191617845250505050565b5f6121a38260026156ac565b835110156121f35760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610b8f565b50016020015160f01c90565b5f602082111561220d575f80fd5b835161221983856156ac565b1115612223575f80fd5b506020919092018101519190036101000a5f1901191690565b5f805f61224b85856020612769565b909250905061225b816020615699565b612266906008615a28565b6122718684846121ff565b901c95945050505050565b5f80808060608161228d8a8a611cc3565b905061229e8a82600360fc1b61110a565b6122c8605082901c69ffffffffffffffffffff1660a083901c69ffffffffffffffffffff16611e84565b93505f6122d58b83611cc3565b90506122e68b82600360fc1b61110a565b5f6122f18c83611cc3565b90506123028c82600360fc1b61110a565b6123248c69ffffffffffffffffffff605084901c81169060a085901c16611389565b94505f6123318d83611cc3565b90506123428d82600360fc1b61110a565b5f61234d8e83611cc3565b90508d69ffffffffffffffffffff82168151811061236d5761236d6155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f8100000000000000000000000000000000000000000000000000000000000000036123c7576123c48e82611cc3565b90505b8d69ffffffffffffffffffff8216815181106123e5576123e56155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f82000000000000000000000000000000000000000000000000000000000000000361243f5761243c8e82611cc3565b90505b8a61246169ffffffffffffffffffff60a084901c811690605085901c166156ac565b1461247f57604051632aaefa3360e21b815260040160405180910390fd5b6124898e856129cd565b99506124968e828e612ab4565b98506124a28e8361305b565b95505050505050945094509450945094565b604080516101008101825267cbbb9d5dc1059ed8815267629a292a367cd5076020820152679159015a3070dd179181019190915267152fecd8f70e59396060828101919091526767332667ffc00b316080830152678eb44a876858151160a083015267db0c2e0d64f98fa760c08301526747b5481dbefa4fa460e08301529061253f858585846133b7565b80516020808301516040808501516060860151608087015160a088015184517fffffffffffffffff00000000000000000000000000000000000000000000000060c0998a1b81169882019890985295881b8716602887015292871b8616603086015290861b85166038850152851b84169183019190915290921b1660488201526050016040516020818303038152906040529150509392505050565b60605f6125e88484613c5c565b90505f6125f58583613e03565b90506126068582600360fc1b61110a565b5f61261186836111a9565b90505f61261e8783611cc3565b905061264169ffffffffffffffffffff60a086901c811690605087901c166156ac565b61264a84611345565b6126609069ffffffffffffffffffff86166156ac565b1415806126ab575061268969ffffffffffffffffffff60a085901c811690605086901c166156ac565b61269282611345565b6126a89069ffffffffffffffffffff84166156ac565b14155b156126e2576040517f90cb89b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f806126ee8985613e1e565b90925090505f806126ff8b86613e1e565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000608098891b81166020830152603082019790975292871b9095166050830152606080830191909152845180830390910181529401909252509098975050505050505050565b5f808469ffffffffffffffffffff851681518110612789576127896155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f020000000000000000000000000000000000000000000000000000000000000014612809576040517f0a4ae2b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a084901c69ffffffffffffffffffff169050805f0361283c57604051632aaefa3360e21b815260040160405180910390fd5b605084901c69ffffffffffffffffffff169150848281518110612861576128616155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000165f0361293457600181111561292f57846128a38360016156ac565b815181106128b3576128b36155ee565b01602001517f800000000000000000000000000000000000000000000000000000000000000090811614612913576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161291d81615a3f565b925050808061292b90615a57565b9150505b6129a4565b848281518110612946576129466155ee565b01602001517f800000000000000000000000000000000000000000000000000000000000000016156129a4576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828111156129c557604051632aaefa3360e21b815260040160405180910390fd5b935093915050565b5f806129d984846111a9565b90505f6129e68583611cc3565b90505f6129f38684613ec1565b90506129ff8683613ec1565b935042811115612a515760405162461bcd60e51b815260206004820152601960248201527f6365727469666963617465206e6f742076616c696420796574000000000000006044820152606401610b8f565b67ffffffffffffffff8416421115612aab5760405162461bcd60e51b815260206004820152601d60248201527f6365727469666963617465206e6f742076616c696420616e796d6f72650000006044820152606401610b8f565b50505092915050565b5f8369ffffffffffffffffffff841681518110612ad357612ad36155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167fa30000000000000000000000000000000000000000000000000000000000000014612b53576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612b7569ffffffffffffffffffff60a086901c811690605087901c166156ac565b9050612b8185856111a9565b9350612b928585600360fc1b61110a565b80612bb469ffffffffffffffffffff60a087901c811690605088901c166156ac565b14612beb576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612bf686866111a9565b90505f805f1994505b5f612c2169ffffffffffffffffffff60a086901c811690605087901c166156ac565b905084811115612c5d576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c6c8985600360fc1b61110a565b5f612c778a866111a9565b9050612ca48a827f060000000000000000000000000000000000000000000000000000000000000061110a565b5f612cc78b69ffffffffffffffffffff605085901c81169060a086901c16611389565b90505f7f6351d72a43cb42fb9a2531a28608c278c89629f8f025b5f5dc705f3fe45e950a821480612d1757507f45529d8772b07ebd6d507a1680da791f4a2192882bf89d518801579f7a5167d282145b90505f612d248d85611cc3565b90508c69ffffffffffffffffffff821681518110612d4457612d446155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f010000000000000000000000000000000000000000000000000000000000000003612ea85760a081901c69ffffffffffffffffffff16600114612ddb576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8d605083901c69ffffffffffffffffffff1681518110612dfe57612dfe6155ee565b016020015160f81c90508015801590612e1b57508060ff1660ff14155b15612e52576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82158015612e6357508060ff1660ff145b15612e9a576040517f8e20644900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ea48e83611cc3565b9150505b84612eca69ffffffffffffffffffff60a084901c811690605085901c166156ac565b14612f01576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8115612fcf57612f118d8261447d565b90507f9cae28d5bc34bd0465dace5d79f73d873769d6070fda4a0a238fa0c01ba16af68301612f88578615612f72576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019650612f818d828d61451c565b9950612fcf565b8515612fc0576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550612fcf8d828d614998565b888503612fe0575050505050612ff6565b612fea8d89611cc3565b97505050505050612bff565b811580613001575080155b8061301957508515801561301957508460070b5f1914155b15613050576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050509392505050565b60605f61306884846111a9565b90506130798482600360fc1b61110a565b5f61308485836111a9565b90505f6130918683611cc3565b90505f61309e8785611cc3565b90505f6130ab8883613c5c565b90506130d888857f060000000000000000000000000000000000000000000000000000000000000061110a565b61310388847f060000000000000000000000000000000000000000000000000000000000000061110a565b61310c85611345565b6131229069ffffffffffffffffffff87166156ac565b61312b84611345565b6131419069ffffffffffffffffffff86166156ac565b14158061318a575061315287611345565b6131689069ffffffffffffffffffff89166156ac565b61317183611345565b6131879069ffffffffffffffffffff85166156ac565b14155b156131c1576040517fa88fd43f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fb60fee1fd85f867dd7c8d16884a49a20287ebe4c0fb49294e9825988aa8e42b461320c605086901c69ffffffffffffffffffff1660a087901c69ffffffffffffffffffff16611302565b14613243576040517fa88fd43f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fbd74344bb507daeb9ed315bc535f24a236ccab72c5cd6945fb0efe5c037e209761328e605085901c69ffffffffffffffffffff1660a086901c69ffffffffffffffffffff16611302565b146132c5576040517fa88fd43f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b69ffffffffffffffffffff605082901c81169060a083901c166061811415806132f7575089516132f582846156ac565b115b8061335b575089828151811061330f5761330f6155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f040000000000000000000000000000000000000000000000000000000000000014155b15613392576040517fa88fd43f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6133a96133a08360016156ac565b8b9060606118db565b9a9950505050505050505050565b60408051610a008101825267428a2f98d728ae228152677137449123ef65cd602082015267b5c0fbcfec4d3b2f9181019190915267e9b5dba58189dbbc6060820152673956c25bf348b53860808201526759f111f1b605d01960a082015267923f82a4af194f9b60c082015267ab1c5ed5da6d811860e082015267d807aa98a30302426101008201526712835b0145706fbe61012082015267243185be4ee4b28c61014082015267550c7dc3d5ffb4e26101608201526772be5d74f27b896f6101808201526780deb1fe3b1696b16101a0820152679bdc06a725c712356101c082015267c19bf174cf6926946101e082015267e49b69c19ef14ad261020082015267efbe4786384f25e3610220820152670fc19dc68b8cd5b561024082015267240ca1cc77ac9c65610260820152672de92c6f592b0275610280820152674a7484aa6ea6e4836102a0820152675cb0a9dcbd41fbd46102c08201526776f988da831153b56102e082015267983e5152ee66dfab61030082015267a831c66d2db4321061032082015267b00327c898fb213f61034082015267bf597fc7beef0ee461036082015267c6e00bf33da88fc261038082015267d5a79147930aa7256103a08201526706ca6351e003826f6103c082015267142929670a0e6e706103e08201526727b70a8546d22ffc610400820152672e1b21385c26c926610420820152674d2c6dfc5ac42aed6104408201526753380d139d95b3df61046082015267650a73548baf63de61048082015267766a0abb3c77b2a86104a08201526781c2c92e47edaee66104c08201526792722c851482353b6104e082015267a2bfe8a14cf1036461050082015267a81a664bbc42300161052082015267c24b8b70d0f8979161054082015267c76c51a30654be3061056082015267d192e819d6ef521861058082015267d69906245565a9106105a082015267f40e35855771202a6105c082015267106aa07032bbd1b86105e08201526719a4c116b8d2d0c8610600820152671e376c085141ab53610620820152672748774cdf8eeb996106408201526734b0bcb5e19b48a861066082015267391c0cb3c5c95a63610680820152674ed8aa4ae3418acb6106a0820152675b9cca4f7763e3736106c082015267682e6ff3d6b2b8a36106e082015267748f82ee5defb2fc6107008201526778a5636f43172f606107208201526784c87814a1f0ab72610740820152678cc702081a6439ec6107608201526790befffa23631e2861078082015267a4506cebde82bde96107a082015267bef9a3f7b2c679156107c082015267c67178f2e372532b6107e082015267ca273eceea26619c61080082015267d186b8c721c0c20761082082015267eada7dd6cde0eb1e61084082015267f57d4f7fee6ed1786108608201526706f067aa72176fba610880820152670a637dc5a2c898a66108a082015267113f9804bef90dae6108c0820152671b710b35131c471b6108e08201526728db77f523047d846109008201526732caab7b40c72493610920820152673c9ebe0a15c9bebc61094082015267431d67c49c100d4c610960820152674cc5d4becb3e42b661098082015267597f299cfc657e2a6109a0820152675fcb6fab3ad6faec6109c0820152676c44198c4a4758176109e0820152845161387584866156ac565b11156138c35760405162461bcd60e51b815260206004820152600d60248201527f4f55545f4f465f424f554e4453000000000000000000000000000000000000006044820152606401610b8f565b5f6138cf868686614a30565b9050608081516138df9190615a99565b1561392c5760405162461bcd60e51b815260206004820152600d60248201527f50414444494e475f4552524f52000000000000000000000000000000000000006044820152606401610b8f565b613934615251565b61393c615270565b61394461528f565b5f613950608089615aac565b61395b906080615a28565b90505f5b85518201811015613c4f57818110156139845761397f8b84838d01614b3a565b613991565b6139918684848403614b3a565b5f5b60108110156139e1578381601081106139ae576139ae6155ee565b60200201518682605081106139c5576139c56155ee565b67ffffffffffffffff9092166020929092020152600101613993565b5060105b6050811015613a9757856010820360508110613a0357613a036155ee565b6020020151613a2a87600f840360508110613a2057613a206155ee565b6020020151614b92565b876007840360508110613a3f57613a3f6155ee565b6020020151613a66896002860360508110613a5c57613a5c6155ee565b6020020151614bc0565b010101868260508110613a7b57613a7b6155ee565b67ffffffffffffffff90921660209290920201526001016139e5565b505f5b6008811015613ae857888160088110613ab557613ab56155ee565b6020020151858260088110613acc57613acc6155ee565b67ffffffffffffffff9092166020929092020152600101613a9a565b505f5b6050811015613bf3575f868260508110613b0757613b076155ee565b6020020151898360508110613b1e57613b1e6155ee565b6020020151608088015160a089015160c08a01518219169116186080890151613b4690614be6565b89600760200201510101010190505f613b7e878260200201518860016020020151896002602002015180821690831691909216181890565b8751613b8990614c08565b60c08901805167ffffffffffffffff90811660e08c015260a08b018051821690925260808b018051821690925260608b0180518701821690925260408b018051821690925260208b01805182169092528a5181169091529101909201909116865250600101613aeb565b505f5b6008811015613c4657848160088110613c1157613c116155ee565b6020020151898260088110613c2857613c286155ee565b6020020180519190910167ffffffffffffffff169052600101613bf6565b5060800161395f565b5050505050505050505050565b5f8269ffffffffffffffffffff831681518110613c7b57613c7b6155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f030000000000000000000000000000000000000000000000000000000000000014613cfb576040517f0a4ae2b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a082901c69ffffffffffffffffffff165f03613d2b57604051632aaefa3360e21b815260040160405180910390fd5b82605083901c69ffffffffffffffffffff1681518110613d4d57613d4d6155ee565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615613dab576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61051e69ffffffffffffffffffff8316605084901c69ffffffffffffffffffff16613dd79060016156ac565b613df2600169ffffffffffffffffffff60a088901c16615699565b60a01b60509190911b919091171790565b5f61051e83605084901c69ffffffffffffffffffff1661199c565b5f805f80613e2e86866030612769565b915091506020811115613e8f575f613e47602083615699565b9050613e54816020615699565b613e5f906008615a28565b613e6a8885846121ff565b901c613e8188613e7a84876156ac565b60206121ff565b5f1c94509450505050613eba565b5f613e9b826020615699565b613ea6906008615a28565b613eb18885856121ff565b9195501c925050505b9250929050565b5f808369ffffffffffffffffffff841681518110613ee157613ee16155ee565b016020015160f81c905069ffffffffffffffffffff605084901c81169060a085901c16601783141580613f15575080600d14155b8015613f3057508260ff166018141580613f30575080600f14155b15613f67576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b856001613f7483856156ac565b613f7e9190615699565b81518110613f8e57613f8e6155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f5a000000000000000000000000000000000000000000000000000000000000001461400e576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b61401b600183615699565b81101561409a575f8761402e83866156ac565b8151811061403e5761403e6155ee565b016020015160f81c9050603081108061405a575060398160ff16115b15614091576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600101614010565b505f81600d036140e757600560308885815181106140ba576140ba6155ee565b01602001516140cc919060f81c61589b565b60ff16106140dc5761076c6140e0565b6107d05b9050614174565b6030876140f58560016156ac565b81518110614105576141056155ee565b0160200151614117919060f81c61589b565b6141229060646158b4565b60ff166030888581518110614139576141396155ee565b016020015161414b919060f81c61589b565b61415a9060ff166103e8615abf565b6141649190615adc565b90506141716002846156ac565b92505b6030876141828560016156ac565b81518110614192576141926155ee565b602001015160f81c60f81b60f81c60308986815181106141b4576141b46155ee565b01602001516141c6919060f81c61589b565b6141d190600a6158b4565b6141db9190615af6565b6141e5919061589b565b6141f29060ff1682615adc565b90505f6030886142038660036156ac565b81518110614213576142136155ee565b016020015160f81c60308a6142298860026156ac565b81518110614239576142396155ee565b016020015161424b919060f81c61589b565b61425690600a6158b4565b6142609190615af6565b61426a919061589b565b90505f60308961427b8760056156ac565b8151811061428b5761428b6155ee565b016020015160f81c60308b6142a18960046156ac565b815181106142b1576142b16155ee565b01602001516142c3919060f81c61589b565b6142ce90600a6158b4565b6142d89190615af6565b6142e2919061589b565b90505f60308a6142f38860076156ac565b81518110614303576143036155ee565b016020015160f81c60308c6143198a60066156ac565b81518110614329576143296155ee565b016020015161433b919060f81c61589b565b61434690600a6158b4565b6143509190615af6565b61435a919061589b565b90505f60308b61436b8960096156ac565b8151811061437b5761437b6155ee565b016020015160f81c60308d6143918b60086156ac565b815181106143a1576143a16155ee565b01602001516143b3919060f81c61589b565b6143be90600a6158b4565b6143c89190615af6565b6143d2919061589b565b90505f60308c6143e38a600b6156ac565b815181106143f3576143f36155ee565b016020015160f81c60308e6144098c600a6156ac565b81518110614419576144196155ee565b016020015161442b919060f81c61589b565b61443690600a6158b4565b6144409190615af6565b61444a919061589b565b905061446d8661ffff168660ff168660ff168660ff168660ff168660ff16614c2a565b9c9b505050505050505050505050565b5f8269ffffffffffffffffffff83168151811061449c5761449c6155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f040000000000000000000000000000000000000000000000000000000000000014611228576040517f0a4ae2b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8369ffffffffffffffffffff84168151811061453b5761453b6155ee565b6020910101517fff0000000000000000000000000000000000000000000000000000000000000016600360fc1b1461459f576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505f195f806145c569ffffffffffffffffffff60a087901c811690605088901c166156ac565b905069ffffffffffffffffffff605086901c1681811015614951575f6145eb88886111a9565b90506145f78184614e9c565b91508769ffffffffffffffffffff821681518110614617576146176155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f0100000000000000000000000000000000000000000000000000000000000000036147965760a081901c69ffffffffffffffffffff166001146146ae576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f88605083901c69ffffffffffffffffffff16815181106146d1576146d16155ee565b016020015160f81c905080158015906146ee57508060ff1660ff14155b15614725576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff1660ff14945083830361477c5784151587151514614772576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505061051e565b6147868983611cc3565b91506147928285614e9c565b9250505b831515861515146147d3576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8769ffffffffffffffffffff8216815181106147f1576147f16155ee565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f0200000000000000000000000000000000000000000000000000000000000000036148dd5760a081901c69ffffffffffffffffffff165f03614887576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614892898361223c565b9050677fffffffffffffff8111156148d6576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b945061490f565b6040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828214614948576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505061051e565b8215158515151461498e576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050509392505050565b5f6149a38484614ef8565b905081156149ed57806004166004146149e8576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614a2a565b80608016608014614a2a576040517f05d3b44e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60605f614a3e836008615a28565b60c01b90505f614a4f608085615a99565b90505f6070821015614a6d57614a66826077615699565b9050614a7b565b614a788260f7615699565b90505b5f8167ffffffffffffffff811115614a9557614a956152ae565b6040519080825280601f01601f191660200182016040528015614abf576020820181803683370190505b5090505f614ae384614ad1898b6156ac565b614adb9190615699565b8a90866118db565b604051909150614b1d9082907f80000000000000000000000000000000000000000000000000000000000000009085908990602001615b0f565b604051602081830303815290604052955050505050509392505050565b5f5b6010811015614a2a57614b64614b53826008615a28565b614b5d90846156ac565b85906151ad565b838260108110614b7657614b766155ee565b67ffffffffffffffff9092166020929092020152600101614b3c565b5f60078267ffffffffffffffff16901c614bad836008615215565b614bb8846001615215565b181892915050565b5f60068267ffffffffffffffff16901c614bdb83603d615215565b614bb8846013615215565b5f614bf2826029615215565b614bfd836012615215565b614bb884600e615215565b5f614c14826027615215565b614c1f836022615215565b614bb884601c615215565b5f6107b2871015614c39575f80fd5b85600111158015614c4b5750600c8611155b614c53575f80fd5b84600111158015614c655750601f8511155b614c6d575f80fd5b85600203614ccc57601c85111580614cbf575084601d148015614cbf5750614c96600488615a99565b158015614cbf5750614ca9606488615a99565b151580614cbf5750614cbd61019088615a99565b155b614cc7575f80fd5b614d03565b8560041480614cdb5750856006145b80614ce65750856009145b80614cf1575085600b145b15614d0357601e851115614d03575f80fd5b6017841115614d10575f80fd5b603b831115614d1d575f80fd5b603b821115614d2a575f80fd5b8686865f62253d8c60046064600c614d43600e88615b82565b614d4d9190615ba1565b614d5988611324615be9565b614d639190615be9565b614d6d9190615ba1565b614d78906003615c10565b614d829190615ba1565b600c80614d90600e88615b82565b614d9a9190615ba1565b614da590600c615c10565b614db0600288615b82565b614dba9190615b82565b614dc69061016f615c10565b614dd09190615ba1565b6004600c614ddf600e89615b82565b614de99190615ba1565b614df5896112c0615be9565b614dff9190615be9565b614e0b906105b5615c10565b614e159190615ba1565b614e21617d4b87615b82565b614e2b9190615be9565b614e359190615be9565b614e3f9190615b82565b614e499190615b82565b9050858789614e59846018615a28565b614e6391906156ac565b614e6e90603c615a28565b614e7891906156ac565b614e8390603c615a28565b614e8d91906156ac565b9b9a5050505050505050505050565b5f614ea683611345565b614ebc9069ffffffffffffffffffff85166156ac565b9050818111156107a4576040517f794a0ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8269ffffffffffffffffffff831681518110614f1757614f176155ee565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f030000000000000000000000000000000000000000000000000000000000000014614f97576040517f0a4ae2b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a082901c69ffffffffffffffffffff165f03614fc757604051632aaefa3360e21b815260040160405180910390fd5b5f83605084901c69ffffffffffffffffffff1681518110614fea57614fea6155ee565b016020015160f81c9050600781111561502f576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61504b600169ffffffffffffffffffff60a087901c16615699565b9050602081111561506f57604051632aaefa3360e21b815260040160405180910390fd5b805f036150b85781156150ae576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f925050506107a4565b811561513f575f6150cc600180851b615699565b905080866150ea8469ffffffffffffffffffff60508a901c166156ac565b815181106150fa576150fa6155ee565b016020015160f81c1660ff161561513d576040517f142618f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5f805b828110156151a357615155816008615a28565b878261517269ffffffffffffffffffff60508b901c1660016156ac565b61517c91906156ac565b8151811061518c5761518c6155ee565b016020015160f81c901b9190911790600101615142565b5095945050505050565b5f6151b98260086156ac565b835110156152095760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610b8f565b50016020015160c01c90565b5f67ffffffffffffffff8381169083161c615231836040615c5b565b67ffffffffffffffff168467ffffffffffffffff16901b17905092915050565b60405180610a0001604052806050906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f8301126152ea575f80fd5b813567ffffffffffffffff811115615304576153046152ae565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715615370576153706152ae565b604052818152838201602001851015615387575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f606084860312156153b5575f80fd5b833567ffffffffffffffff8111156153cb575f80fd5b6153d7868287016152db565b93505060208401359150604084013567ffffffffffffffff8111156153fa575f80fd5b615406868287016152db565b9150509250925092565b5f8060408385031215615421575f80fd5b823567ffffffffffffffff811115615437575f80fd5b615443858286016152db565b95602094909401359450505050565b5f60208284031215615462575f80fd5b5035919050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815281511515602082015267ffffffffffffffff6020830151166040820152604082015160070b6060820152606082015160808201525f608083015160a08084015261067360c0840182615469565b5f60208284031215615516575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461051e575f80fd5b5f806020838503121561554a575f80fd5b823567ffffffffffffffff811115615560575f80fd5b8301601f81018513615570575f80fd5b803567ffffffffffffffff811115615586575f80fd5b8560208260051b840101111561559a575f80fd5b6020919091019590945092505050565b602081525f61051e6020830184615469565b5f602082840312156155cc575f80fd5b813567ffffffffffffffff8111156155e2575f80fd5b610673848285016152db565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b600181811c9082168061562f57607f821691505b602082108103615666577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156107a4576107a461566c565b808201808211156107a4576107a461566c565b600782810b9082900b037fffffffffffffffffffffffffffffffffffffffffffffffff80000000000000008112677fffffffffffffff821317156107a4576107a461566c565b5f81518060208401855e5f93019283525090919050565b85151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1660018201528360c01b60098201528260118201525f61576c6031830184615705565b979650505050505050565b601f8211156107fe57805f5260205f20601f840160051c8101602085101561579c5750805b601f840160051c820191505b818110156157bb575f81556001016157a8565b5050505050565b815167ffffffffffffffff8111156157dc576157dc6152ae565b6157f0816157ea845461561b565b84615777565b6020601f821160018114615822575f831561580b5750848201515b5f19600385901b1c1916600184901b1784556157bb565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561586f578785015182556020948501946001909201910161584f565b508482101561588c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60ff82811682821603908111156107a4576107a461566c565b60ff81811683821602908116908181146158d0576158d061566c565b5092915050565b608081525f6158e96080830187615469565b82810360208401526158fb8187615469565b9050828103604084015261590f8186615469565b9050828103606084015261576c8185615469565b5f60208284031215615933575f80fd5b8151801515811461051e575f80fd5b6001815b60018411156129c5578085048111156159615761596161566c565b600184161561596f57908102905b60019390931c928002615946565b5f8261598b575060016107a4565b8161599757505f6107a4565b81600181146159ad57600281146159b7576159d3565b60019150506107a4565b60ff8411156159c8576159c861566c565b50506001821b6107a4565b5060208310610133831016604e8410600b84101617156159f6575081810a6107a4565b615a025f198484615942565b805f1904821115615a1557615a1561566c565b029392505050565b5f61051e838361597d565b80820281158282048414176107a4576107a461566c565b5f5f198203615a5057615a5061566c565b5060010190565b5f81615a6557615a6561566c565b505f190190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82615aa757615aa7615a6c565b500690565b5f82615aba57615aba615a6c565b500490565b61ffff81811683821602908116908181146158d0576158d061566c565b61ffff81811683821601908111156107a4576107a461566c565b60ff81811683821601908111156107a4576107a461566c565b5f615b1a8287615705565b7fff0000000000000000000000000000000000000000000000000000000000000086168152615b4c6001820186615705565b7fffffffffffffffff00000000000000000000000000000000000000000000000094909416845250506008909101949350505050565b8181035f8312801583831316838312821617156158d0576158d061566c565b5f82615baf57615baf615a6c565b5f1983147f800000000000000000000000000000000000000000000000000000000000000083141615615be457615be461566c565b500590565b8082018281125f831280158216821582161715615c0857615c0861566c565b505092915050565b8082025f82127f800000000000000000000000000000000000000000000000000000000000000084141615615c4757615c4761566c565b81810583148215176107a4576107a461566c565b67ffffffffffffffff82811682821603908111156107a4576107a461566c56fefc0254eba608c1f36870e29ada90be46383292736e894bfff672d989444b5051e534a4b1f6dbe3c0bc581a32b7b176070ede12d69a3fea211b66e752cf7dd1dd095f6f1370f4170843d9dc100121e4cf63012809664487c9796284304dc53ff4a164736f6c634300081a000afc0254eba608c1f36870e29ada90be46383292736e894bfff672d989444b5051e534a4b1f6dbe3c0bc581a32b7b176070ede12d69a3fea211b66e752cf7dd1dd095f6f1370f4170843d9dc100121e4cf63012809664487c9796284304dc53ff4000000000000000000000000a8320712ff181d74e719ff7e6e1012bbe4687b26000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3", + "nonce": "0xf", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaa45f20667ff89aa882c0a7e4af9945db94ebc151dba8878894d84b566814fb6", + "transactionType": "CREATE", + "contractName": "NitroValidator", + "contractAddress": "0x16970101ea32243cc80a2e0c91427e8bda70f689", + "function": null, + "arguments": [ + "0x50521128e3eB8708F05129D7B7283737D55a1936", + "0xa8320712fF181D74e719Ff7E6E1012bbe4687b26" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x47a95b", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516141ec3803806141ec83398101604081905261002e9161010d565b6001600160a01b0382166100895760405162461bcd60e51b815260206004820152601460248201527f6d697373696e672063657274206d616e6167657200000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166100df5760405162461bcd60e51b815260206004820152601560248201527f6d697373696e67205033383420766572696669657200000000000000000000006044820152606401610080565b6001600160a01b039182166080521660a052610145565b6001600160a01b038116811461010a575f80fd5b50565b5f806040838503121561011e575f80fd5b8251610129816100f6565b602084015190925061013a816100f6565b809150509250929050565b60805160a05161407161017b5f395f81816101bd0152610d6f01525f81816102570152818161183b015261193501526140715ff3fe608060405234801561000f575f80fd5b506004361061012f575f3560e01c80639cc3eb48116100ad578063ba8055ee1161007d578063cebf08d711610063578063cebf08d714610351578063e0a655ff14610378578063e8b6d3fe1461039f575f80fd5b8063ba8055ee1461033e578063c644ba4814610279575f80fd5b80639cc3eb48146102a8578063a903a277146102cf578063ae951149146102f0578063b22bed7e14610317575f80fd5b80636378aad511610102578063739e8484116100e8578063739e8484146102525780637650e016146102795780639adb2d6814610281575f80fd5b80636378aad5146102045780636be1e68b1461022b575f80fd5b806305f7aead146101335780632d4bad8a1461015c5780633893af6d146101915780634e33f7ca146101b8575b5f80fd5b610146610141366004613908565b6103c6565b60405161015391906139a7565b60405180910390f35b6101837f63ce814bd924c1ef12c43686e4cbf48ed1639a78387b0570c23ca921e8ce071c81565b604051908152602001610153565b6101837f501a3a7a4e0cf54b03f2488098bdd59bc1c2e8d741a300d6b25926d531733fef81565b6101df7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610153565b6101837f7ab1577440dd7bedf920cb6de2f9fc6bf7ba98c78c85a3fa1f8311aac95e175981565b6101837f682a7e258d80bd2421d3103cbe71e3e3b82138116756b97b8256f061dc2f11fb81565b6101df7f000000000000000000000000000000000000000000000000000000000000000081565b610183602081565b6101837f8ce577cf664c36ba5130242bf5790c2675e9f4e6986a842b607821bee25372ee81565b6101837f8a8cb7aa1da17ada103546ae6b4e13ccc2fafa17adf5f93925e0a0a4e5681a6a81565b6102e26102dd366004613a67565b61048b565b604051610153929190613ae5565b6101837f925cec779426f44d8d555e01d2683a3a765ce2fa7562ca7352aeb09dfc57ea6a81565b6101837f61585f8bc67a4b6d5891a4639a074964ac66fc2241dc0b36c157dc101325367a81565b61014661034c366004613b12565b610623565b6101837f5e4ea5393e4327b3014bc32f2264336b0d1ee84a4cfd197c8ad7e1e16829a16a81565b6101837f4ebf727c48eac2c66272456b06a885c5cc03e54d140f63b63b6fd10c1227958e81565b6101837fc7b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a481565b6104186040518061012001604052805f81526020015f67ffffffffffffffff1681526020015f8152602001606081526020015f8152602001606081526020015f81526020015f81526020015f81525090565b60405162461bcd60e51b815260206004820152602360248201527f7573652068696e746564206174746573746174696f6e2076657269666963617460448201527f696f6e000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060805f60019050835f815181106104a5576104a5613ba0565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167fd200000000000000000000000000000000000000000000000000000000000000036104f6575060025b5f6105018583610e43565b905061050d8582610e5b565b505f61052261051b83610e6e565b8790610e92565b90505f61052f8783610e43565b90505f61053c8883610e9e565b90505f8561054986610e6e565b6105539190613bfa565b90505f8461056085610e6e565b61056a9190613bfa565b90505f6105788b8985610eb5565b90505f6105868c8885610eb5565b905061059482858386610f76565b9a506105bb605086901c69ffffffffffffffffffff166105b387611163565b8e9190610eb5565b99508b516105c886610e6e565b146106155760405162461bcd60e51b815260206004820152601260248201527f747261696c696e6720434f5345206461746100000000000000000000000000006044820152606401610482565b505050505050505050915091565b6106756040518061012001604052805f81526020015f67ffffffffffffffff1681526020015f8152602001606081526020015f8152602001606081526020015f81526020015f81526020015f81525090565b5f61067f856111a2565b90505f61068e825f0151611163565b116106db5760405162461bcd60e51b815260206004820152600c60248201527f6e6f206d6f64756c6520696400000000000000000000000000000000000000006044820152606401610482565b5f816020015167ffffffffffffffff16116107385760405162461bcd60e51b815260206004820152600c60248201527f6e6f2074696d657374616d7000000000000000000000000000000000000000006044820152606401610482565b5f8160a00151511161078c5760405162461bcd60e51b815260206004820152600b60248201527f6e6f20636162756e646c650000000000000000000000000000000000000000006044820152606401610482565b60408101517f501a3a7a4e0cf54b03f2488098bdd59bc1c2e8d741a300d6b25926d531733fef906107be90879061179b565b1461080b5760405162461bcd60e51b815260206004820152600e60248201527f696e76616c6964206469676573740000000000000000000000000000000000006044820152606401610482565b6020816060015151146108605760405162461bcd60e51b815260206004820152600c60248201527f696e76616c6964207063727300000000000000000000000000000000000000006044820152606401610482565b60c0810151158061087957506108798160c001516117c1565b806108aa575061088c8160c00151611163565b6001111580156108aa57506104006108a78260c00151611163565b11155b6108f65760405162461bcd60e51b815260206004820152600f60248201527f696e76616c696420707562206b657900000000000000000000000000000000006044820152606401610482565b6109038160e001516117c1565b8061091c57506102006109198260e00151611163565b11155b6109685760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964207573657220646174610000000000000000000000000000006044820152606401610482565b6109768161010001516117c1565b80610990575061020061098d826101000151611163565b11155b6109dc5760405162461bcd60e51b815260206004820152600d60248201527f696e76616c6964206e6f6e6365000000000000000000000000000000000000006044820152606401610482565b5f805b826060015151811015610ae657610a1283606001518281518110610a0557610a05613ba0565b60200260200101516117c1565b610ade5781610a2081613c0d565b925050610a4983606001518281518110610a3c57610a3c613ba0565b6020026020010151611163565b60201480610a6f5750610a6b83606001518281518110610a3c57610a3c613ba0565b6030145b80610a925750610a8e83606001518281518110610a3c57610a3c613ba0565b6040145b610ade5760405162461bcd60e51b815260206004820152600b60248201527f696e76616c6964207063720000000000000000000000000000000000000000006044820152606401610482565b6001016109df565b505f8111610b365760405162461bcd60e51b815260206004820152600c60248201527f696e76616c6964207063727300000000000000000000000000000000000000006044820152606401610482565b610b438260800151611163565b600111158015610b615750610400610b5e8360800151611163565b11155b610bad5760405162461bcd60e51b815260206004820152600c60248201527f696e76616c6964206365727400000000000000000000000000000000000000006044820152606401610482565b5f610bc58360800151886117de90919063ffffffff16565b90505f8360a001515167ffffffffffffffff811115610be657610be66137cc565b604051908082528060200260200182016040528015610c1957816020015b6060815260200190600190039081610c045790505b5090505f5b8460a0015151811015610d0f57610c448560a001518281518110610a3c57610a3c613ba0565b600111158015610c6e5750610400610c6b8660a001518381518110610a3c57610a3c613ba0565b11155b610cba5760405162461bcd60e51b815260206004820152601560248201527f696e76616c696420636162756e646c65206365727400000000000000000000006044820152606401610482565b610cea8560a001518281518110610cd357610cd3613ba0565b60200260200101518a6117de90919063ffffffff16565b828281518110610cfc57610cfc613ba0565b6020908102919091010152600101610c1e565b505f610d1b8383611805565b90505f610d2a8a5f8c516119d4565b60808301516040517fee974d1500000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163ee974d1591610da89185918e918e90600401613c44565b602060405180830381865afa158015610dc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de79190613ca4565b610e335760405162461bcd60e51b815260206004820152600b60248201527f696e76616c6964207369670000000000000000000000000000000000000000006044820152606401610482565b50939450505050505b9392505050565b5f610e52838360406001611afb565b90505b92915050565b5f610e5283610e6984610e6e565b611f06565b5f610e7882611163565b610e559069ffffffffffffffffffff605085901c16613cbd565b5f610e5283835f611f15565b5f610e5283610eac84610e6e565b60406001611afb565b8251606090610ec48385613cbd565b1115610f125760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610482565b8167ffffffffffffffff811115610f2b57610f2b6137cc565b6040519080825280601f01601f191660200182016040528015610f55576020820181803683370190505b50905060208082019085850101610f6d828286612503565b50509392505050565b606081610f8485600d613cbd565b610f8e9190613cbd565b67ffffffffffffffff811115610fa657610fa66137cc565b6040519080825280601f01601f191660200182016040528015610fd0576020820181803683370190505b509050608460f81b815f81518110610fea57610fea613ba0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350606a60f81b8160018151811061103057611030613ba0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f40000000000000000000000000000000000000000000000000000000000000008161108b86600c613cbd565b8151811061109b5761109b613ba0565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535060408051808201909152600a81527f5369676e6174757265310000000000000000000000000000000000000000000060208083019182528381019190888101908701611121611119856002613cbd565b84600a612503565b61113661112f85600c613cbd565b838b612503565b6111568961114586600d613cbd565b61114f9190613cbd565b8289612503565b5050505050949350505050565b5f81604060ff8216148061117a57508060ff166060145b1561119a576111898360a01c90565b67ffffffffffffffff169392505050565b505f92915050565b6111f46040518061012001604052805f81526020015f67ffffffffffffffff1681526020015f8152602001606081526020015f8152602001606081526020015f81526020015f81526020015f81525090565b7f63ce814bd924c1ef12c43686e4cbf48ed1639a78387b0570c23ca921e8ce071c611221835f6012612578565b1461126e5760405162461bcd60e51b815260206004820152601a60248201527f696e76616c6964206174746573746174696f6e207072656669780000000000006044820152606401610482565b5f61127a836012610e43565b9050825161128782610e6e565b146112d45760405162461bcd60e51b815260206004820152601160248201527f747261696c696e672074627320646174610000000000000000000000000000006044820152606401610482565b69ffffffffffffffffffff605082901c165f6112f08583611f06565b90505f6112fd86846125de565b90505f61130a8360a01c90565b67ffffffffffffffff1690506113686040518061012001604052805f81526020015f67ffffffffffffffff1681526020015f8152602001606081526020015f8152602001606081526020015f81526020015f81526020015f81525090565b611370612607565b60608201525f8061138088610e6e565b90505f5b8515611476578161139488610e6e565b106113e15760405162461bcd60e51b815260206004820152601460248201527f6d697373696e6720627265616b206d61726b65720000000000000000000000006044820152606401610482565b8a6113eb88610e6e565b815181106113fb576113fb613ba0565b016020015160f81c60ff03611471578161141488610e6e565b61141f906001613cbd565b1461146c5760405162461bcd60e51b815260206004820152601660248201527f747261696c696e67207061796c6f6164206279746573000000000000000000006044820152606401610482565b61178c565b611487565b848103611487578161141f88610e6e565b6114918b88612665565b96505f61149e8c8961179b565b90507f731a883099b3c945aecfdbd40a86f3d98a160b1967957bd49f87de411dac8d1281016114e8576114d284600161267c565b93506114de8c89612665565b8086529750611779565b7f97d581da727f42dbde2cefc3418e1c1c47dec7ee98a946847da90f9e23d0ee0581016115345761151a84600261267c565b93506115268c89612665565b604086018190529750611779565b7f6da313886bd90bb272aaa1fe2d97c5c589a31d058a9d358cad514f6203a8159681016115805761156684600461267c565b93506115728c89610e9e565b608086018190529750611779565b7f384d7fe6330242cf0039a6ae26b447a361d47bcbeee5fff4a502acc319a0a85c81016115cc576115b284600861267c565b93506115be8c896126d2565b60c086018190529750611779565b7fa1b15ac6c1bcd84cfeb43cd0dd9bcc94f2e117b5b302e68375281e1e97d65e968101611618576115fe84601061267c565b935061160a8c896126d2565b60e086018190529750611779565b7f854ea88bbf22841206df34921d06039408456738737a5c05e07cee5536a1e8a781016116655761164a84602061267c565b93506116568c896126d2565b61010086018190529750611779565b7fb1408d83b7153d399d8dba94f9577a3a33fc1ab2ebf09c49c4902ef3edd86a7281016116c35761169784604061267c565b93506116a38c896126e8565b97506116af8860a01c90565b67ffffffffffffffff166020860152611779565b7f75734855e25e8525efcab95194b1ec333d0505e8520a06c6da1f5f5b1a97e5968101611710576116f584608061267c565b93506117018c896126fe565b60a08701919091529750611779565b7f9ea7a0743985b492a76e5b9c65f8b69b539903ddbe23f4c93ea823efecdac986810161175e576117438461010061267c565b935061174f8c89612849565b60608701919091529750611779565b5f61177261176b8a610e6e565b8e90610e92565b60501b9850505b508061178481613c0d565b915050611384565b50919998505050505050505050565b5f610e52605083901c69ffffffffffffffffffff166117b984611163565b859190612578565b5f8160f660ff82161480610e3c57508060ff1660f7149392505050565b6060610e52605083901c69ffffffffffffffffffff166117fd84611163565b859190610eb5565b6040805160a0810182525f808252602082018190529181018290526060808201839052608082015290805b83518110156118f7577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663031cf06785838151811061188757611887613ba0565b6020026020010151846040518363ffffffff1660e01b81526004016118ad929190613cd0565b6020604051808303815f875af11580156118c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ed9190613d01565b9150600101611830565b506040517f77f2dd7400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906377f2dd749061196c9087908590600401613cd0565b5f604051808303815f875af1158015611987573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526119cc9190810190613d65565b949350505050565b604080516101008101825267cbbb9d5dc1059ed8815267629a292a367cd5076020820152679159015a3070dd179181019190915267152fecd8f70e59396060828101919091526767332667ffc00b316080830152678eb44a876858151160a083015267db0c2e0d64f98fa760c08301526747b5481dbefa4fa460e083015290611a5f85858584612a76565b80516020808301516040808501516060860151608087015160a088015184517fffffffffffffffff00000000000000000000000000000000000000000000000060c0998a1b81169882019890985295881b8716602887015292871b8616603086015290861b85166038850152851b84169183019190915290921b1660488201526050016040516020818303038152906040529150509392505050565b5f80858581518110611b0f57611b0f613ba0565b602001015160f81c60f81b60e060f81b1660f81c90505f868681518110611b3857611b38613ba0565b60209101015160f81c601f16905060ff821660e003611c4a578060ff1660161480611b6657508060ff166017145b611bd85760405162461bcd60e51b815260206004820152602860248201527f6f6e6c79206e756c6c207072696d69746976652076616c75657320617265207360448201527f7570706f727465640000000000000000000000000000000000000000000000006064820152608401610482565b8315611c265760405162461bcd60e51b815260206004820152601f60248201527f6e756c6c2076616c756520666f7220726571756972656420656c656d656e74006044820152606401610482565b611c4160ff83831716611c3a886001613cbd565b60501b1790565b925050506119cc565b8460ff168260ff1614611c9f5760405162461bcd60e51b815260206004820152600f60248201527f756e6578706563746564207479706500000000000000000000000000000000006044820152606401610482565b8060ff16601f03611d43578160ff1660a01480611cbf57508160ff166080145b611d315760405162461bcd60e51b815260206004820152602660248201527f696e646566696e6974652d6c656e677468206f6e6c7920666f72206d6170732f60448201527f61727261797300000000000000000000000000000000000000000000000000006064820152608401610482565b611c4160ff8316611c3a886001613cbd565b601c8160ff1610611d965760405162461bcd60e51b815260206004820152601060248201527f756e737570706f727465642074797065000000000000000000000000000000006044820152606401610482565b8060ff16601803611de857611c4160ff8316611db3886002613cbd565b89611dbf8a6001613cbd565b81518110611dcf57611dcf613ba0565b016020015160f81c60a01b60509190911b919091171790565b8060ff16601903611e2f57611c4160ff8316611e05886003613cbd565b611e1a611e138a6001613cbd565b8b9061331b565b61ffff1660a01b60509190911b919091171790565b8060ff16601a03611e7857611c4160ff8316611e4c886005613cbd565b611e61611e5a8a6001613cbd565b8b90613383565b63ffffffff1660a01b60509190911b919091171790565b8060ff16601b03611ec557611c4160ff8316611e95886009613cbd565b611eaa611ea38a6001613cbd565b8b906133eb565b67ffffffffffffffff1660a01b60509190911b919091171790565b611efb60ff8316611ed7886001613cbd565b60501b1774ff000000000000000000000000000000000000000060a084901b161790565b979650505050505050565b5f610e52838360a06001611afb565b5f6040821115611f675760405162461bcd60e51b815260206004820152601560248201527f63626f72206e657374696e6720746f6f206465657000000000000000000000006044820152606401610482565b5f848481518110611f7a57611f7a613ba0565b016020015160f881901c915060fd1c601f82165f80806018841015611fa857600192508360ff1691506120b6565b8360ff16601803611fe2576002925089611fc38a6001613cbd565b81518110611fd357611fd3613ba0565b016020015160f81c91506120b6565b8360ff1660190361200a5760039250611fff611e138a6001613cbd565b61ffff1691506120b6565b8360ff16601a036120345760059250612027611e5a8a6001613cbd565b63ffffffff1691506120b6565b8360ff16601b036120585760099250612051611ea38a6001613cbd565b91506120b6565b8360ff16601f0361206e575060019150816120b6565b60405162461bcd60e51b815260206004820152601c60248201527f696e76616c69642063626f72206164646974696f6e616c20696e666f000000006044820152606401610482565b5f6120c1848b613cbd565b905060ff861615806120d657508560ff166001145b156121375781156121295760405162461bcd60e51b815260206004820152601860248201527f696e76616c696420696e746567657220656e636f64696e6700000000000000006044820152606401610482565b9650610e3c95505050505050565b8560ff166002148061214c57508560ff166003145b156122aa578115612232575b8a818151811061216a5761216a613ba0565b60209101015160f81c60ff14612219575f8b828151811061218d5761218d613ba0565b016020015160f881901c915060fd1c60ff88161480156121b05750601f80821614155b6121fc5760405162461bcd60e51b815260206004820152601f60248201527f696e76616c696420696e646566696e69746520737472696e67206368756e6b006044820152606401610482565b6122118c8361220c8d6001613cbd565b611f15565b915050612158565b612224816001613cbd565b975050505050505050610e3c565b8a5161224867ffffffffffffffff851683613cbd565b11156122965760405162461bcd60e51b815260206004820152601960248201527f63626f7220737472696e67206f7574206f6620626f756e6473000000000000006044820152606401610482565b61222467ffffffffffffffff841682613cbd565b8560ff1660040361233c5781156122f5575b8a81815181106122ce576122ce613ba0565b60209101015160f81c60ff14612219576122ee8b8261220c8c6001613cbd565b90506122bc565b5f5b8367ffffffffffffffff168167ffffffffffffffff16101561232d576123238c8361220c8d6001613cbd565b91506001016122f7565b509650610e3c95505050505050565b8560ff1660050361244c578115612402575b8a818151811061236057612360613ba0565b60209101015160f81c60ff14612219576123808b8261220c8c6001613cbd565b90508a818151811061239457612394613ba0565b016020015160f81c60ff036123eb5760405162461bcd60e51b815260206004820152601760248201527f6f64642063626f72206d6170206974656d20636f756e740000000000000000006044820152606401610482565b6123fb8b8261220c8c6001613cbd565b905061234e565b5f5b8367ffffffffffffffff168167ffffffffffffffff16101561232d576124308c8361220c8d6001613cbd565b91506124428c8361220c8d6001613cbd565b9150600101612404565b8560ff166006036124b55781156124a55760405162461bcd60e51b815260206004820152601460248201527f696e76616c69642074616720656e636f64696e670000000000000000000000006044820152606401610482565b6122248b8261220c8c6001613cbd565b81156121295760405162461bcd60e51b815260206004820152601060248201527f756e657870656374656420627265616b000000000000000000000000000000006044820152606401610482565b6020811061253b578151835261251a602084613cbd565b9250612527602083613cbd565b9150612534602082613bfa565b9050612503565b8015612573575f600161254f836020613bfa565b61255b90610100613f45565b6125659190613bfa565b835185518216911916178452505b505050565b82515f906125868385613cbd565b11156125d45760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610482565b5091016020012090565b5f8282815181106125f1576125f1613ba0565b60209101015160f81c601f908116149392505050565b6040805160208082526104208201909252606091808201610400803683375091925060f691505f90505b6020811015612660578183828151811061264d5761264d613ba0565b6020908102919091010152600101612631565b505090565b5f610e528361267384610e6e565b60606001611afb565b5f828216156126cd5760405162461bcd60e51b815260206004820152601960248201527f6475706c6963617465206174746573746174696f6e206b6579000000000000006044820152606401610482565b501790565b5f610e52836126e084610e6e565b60405f611afb565b5f610e52836126f684610e6e565b5f6001611afb565b60605f8061270b84610e6e565b90506127178585613453565b91505f61272486836125de565b90505f81612745576127368460a01c90565b67ffffffffffffffff16612757565b6127578761275286610e6e565b61346a565b905060208111156127aa5760405162461bcd60e51b815260206004820152601760248201527f746f6f206d616e7920636162756e646c652063657274730000000000000000006044820152606401610482565b8067ffffffffffffffff8111156127c3576127c36137cc565b6040519080825280602002602001820160405280156127ec578160200160208202803683370190505b5094505f5b8181101561282b576128038886610e9e565b94508486828151811061281857612818613ba0565b60209081029190910101526001016127f1565b50811561283f5761283c87856134ac565b93505b5050509250929050565b60605f8061285684610e6e565b90506128628585610e5b565b91505f61286f86836125de565b90505f81156128f3575f6128868861275287610e6e565b9050612893600282613f7d565b156128e05760405162461bcd60e51b815260206004820152601060248201527f696e76616c69642070637273206d6170000000000000000000000000000000006044820152606401610482565b6128eb600282613f90565b91505061290a565b6128fd8460a01c90565b67ffffffffffffffff1690505b602081111561295b5760405162461bcd60e51b815260206004820152600d60248201527f746f6f206d616e792070637273000000000000000000000000000000000000006044820152606401610482565b612963612607565b94505f5b8181101561282b5761297988866126e8565b94505f6129868660a01c90565b67ffffffffffffffff169050602081106129e25760405162461bcd60e51b815260206004820152601560248201527f696e76616c696420706372206b65792076616c756500000000000000000000006044820152606401610482565b6129f7878281518110610a0557610a05613ba0565b612a435760405162461bcd60e51b815260206004820152601160248201527f6475706c696361746520706372206b65790000000000000000000000000000006044820152606401610482565b612a4d8987610e9e565b955085878281518110612a6257612a62613ba0565b602090810291909101015250600101612967565b60408051610a008101825267428a2f98d728ae228152677137449123ef65cd602082015267b5c0fbcfec4d3b2f9181019190915267e9b5dba58189dbbc6060820152673956c25bf348b53860808201526759f111f1b605d01960a082015267923f82a4af194f9b60c082015267ab1c5ed5da6d811860e082015267d807aa98a30302426101008201526712835b0145706fbe61012082015267243185be4ee4b28c61014082015267550c7dc3d5ffb4e26101608201526772be5d74f27b896f6101808201526780deb1fe3b1696b16101a0820152679bdc06a725c712356101c082015267c19bf174cf6926946101e082015267e49b69c19ef14ad261020082015267efbe4786384f25e3610220820152670fc19dc68b8cd5b561024082015267240ca1cc77ac9c65610260820152672de92c6f592b0275610280820152674a7484aa6ea6e4836102a0820152675cb0a9dcbd41fbd46102c08201526776f988da831153b56102e082015267983e5152ee66dfab61030082015267a831c66d2db4321061032082015267b00327c898fb213f61034082015267bf597fc7beef0ee461036082015267c6e00bf33da88fc261038082015267d5a79147930aa7256103a08201526706ca6351e003826f6103c082015267142929670a0e6e706103e08201526727b70a8546d22ffc610400820152672e1b21385c26c926610420820152674d2c6dfc5ac42aed6104408201526753380d139d95b3df61046082015267650a73548baf63de61048082015267766a0abb3c77b2a86104a08201526781c2c92e47edaee66104c08201526792722c851482353b6104e082015267a2bfe8a14cf1036461050082015267a81a664bbc42300161052082015267c24b8b70d0f8979161054082015267c76c51a30654be3061056082015267d192e819d6ef521861058082015267d69906245565a9106105a082015267f40e35855771202a6105c082015267106aa07032bbd1b86105e08201526719a4c116b8d2d0c8610600820152671e376c085141ab53610620820152672748774cdf8eeb996106408201526734b0bcb5e19b48a861066082015267391c0cb3c5c95a63610680820152674ed8aa4ae3418acb6106a0820152675b9cca4f7763e3736106c082015267682e6ff3d6b2b8a36106e082015267748f82ee5defb2fc6107008201526778a5636f43172f606107208201526784c87814a1f0ab72610740820152678cc702081a6439ec6107608201526790befffa23631e2861078082015267a4506cebde82bde96107a082015267bef9a3f7b2c679156107c082015267c67178f2e372532b6107e082015267ca273eceea26619c61080082015267d186b8c721c0c20761082082015267eada7dd6cde0eb1e61084082015267f57d4f7fee6ed1786108608201526706f067aa72176fba610880820152670a637dc5a2c898a66108a082015267113f9804bef90dae6108c0820152671b710b35131c471b6108e08201526728db77f523047d846109008201526732caab7b40c72493610920820152673c9ebe0a15c9bebc61094082015267431d67c49c100d4c610960820152674cc5d4becb3e42b661098082015267597f299cfc657e2a6109a0820152675fcb6fab3ad6faec6109c0820152676c44198c4a4758176109e08201528451612f348486613cbd565b1115612f825760405162461bcd60e51b815260206004820152600d60248201527f4f55545f4f465f424f554e4453000000000000000000000000000000000000006044820152606401610482565b5f612f8e868686613537565b905060808151612f9e9190613f7d565b15612feb5760405162461bcd60e51b815260206004820152600d60248201527f50414444494e475f4552524f52000000000000000000000000000000000000006044820152606401610482565b612ff361376f565b612ffb61378e565b6130036137ad565b5f61300f608089613f90565b61301a906080613fa3565b90505f5b8551820181101561330e57818110156130435761303e8b84838d01613641565b613050565b6130508684848403613641565b5f5b60108110156130a05783816010811061306d5761306d613ba0565b602002015186826050811061308457613084613ba0565b67ffffffffffffffff9092166020929092020152600101613052565b5060105b6050811015613156578560108203605081106130c2576130c2613ba0565b60200201516130e987600f8403605081106130df576130df613ba0565b602002015161369f565b8760078403605081106130fe576130fe613ba0565b602002015161312589600286036050811061311b5761311b613ba0565b60200201516136cd565b01010186826050811061313a5761313a613ba0565b67ffffffffffffffff90921660209290920201526001016130a4565b505f5b60088110156131a75788816008811061317457613174613ba0565b602002015185826008811061318b5761318b613ba0565b67ffffffffffffffff9092166020929092020152600101613159565b505f5b60508110156132b2575f8682605081106131c6576131c6613ba0565b60200201518983605081106131dd576131dd613ba0565b6020020151608088015160a089015160c08a01518219169116186080890151613205906136f3565b89600760200201510101010190505f61323d878260200201518860016020020151896002602002015180821690831691909216181890565b875161324890613715565b60c08901805167ffffffffffffffff90811660e08c015260a08b018051821690925260808b018051821690925260608b0180518701821690925260408b018051821690925260208b01805182169092528a51811690915291019092019091168652506001016131aa565b505f5b6008811015613305578481600881106132d0576132d0613ba0565b60200201518982600881106132e7576132e7613ba0565b6020020180519190910167ffffffffffffffff1690526001016132b5565b5060800161301e565b5050505050505050505050565b5f613327826002613cbd565b835110156133775760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610482565b50016020015160f01c90565b5f61338f826004613cbd565b835110156133df5760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610482565b50016020015160e01c90565b5f6133f7826008613cbd565b835110156134475760405162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610482565b50016020015160c01c90565b5f610e528361346184610e6e565b60806001611afb565b5f5b82828151811061347e5761347e613ba0565b60209101015160f81c60ff14610e55576134988383610e92565b9150806134a481613c0d565b91505061346c565b5f826134b783610e6e565b815181106134c7576134c7613ba0565b60209101015160f81c60ff1461351f5760405162461bcd60e51b815260206004820152601560248201527f657870656374656420627265616b206d61726b657200000000000000000000006044820152606401610482565b610e525f61352c84610e6e565b611c3a906001613cbd565b60605f613545836008613fa3565b60c01b90505f613556608085613f7d565b90505f60708210156135745761356d826077613bfa565b9050613582565b61357f8260f7613bfa565b90505b5f8167ffffffffffffffff81111561359c5761359c6137cc565b6040519080825280601f01601f1916602001820160405280156135c6576020820181803683370190505b5090505f6135ea846135d8898b613cbd565b6135e29190613bfa565b8a9086610eb5565b6040519091506136249082907f80000000000000000000000000000000000000000000000000000000000000009085908990602001613fd1565b604051602081830303815290604052955050505050509392505050565b5f5b60108110156136995761366b61365a826008613fa3565b6136649084613cbd565b85906133eb565b83826010811061367d5761367d613ba0565b67ffffffffffffffff9092166020929092020152600101613643565b50505050565b5f60078267ffffffffffffffff16901c6136ba836008613733565b6136c5846001613733565b181892915050565b5f60068267ffffffffffffffff16901c6136e883603d613733565b6136c5846013613733565b5f6136ff826029613733565b61370a836012613733565b6136c584600e613733565b5f613721826027613733565b61372c836022613733565b6136c584601c5b5f67ffffffffffffffff8381169083161c61374f836040614044565b67ffffffffffffffff168467ffffffffffffffff16901b17905092915050565b60405180610a0001604052806050906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff8111828210171561381c5761381c6137cc565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613869576138696137cc565b604052919050565b5f67ffffffffffffffff82111561388a5761388a6137cc565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126138c5575f80fd5b81356138d86138d382613871565b613822565b8181528460208386010111156138ec575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215613919575f80fd5b823567ffffffffffffffff81111561392f575f80fd5b61393b858286016138b6565b925050602083013567ffffffffffffffff811115613957575f80fd5b613963858286016138b6565b9150509250929050565b5f8151808452602084019350602083015f5b8281101561399d57815186526020958601959091019060010161397f565b5093949350505050565b60208152815160208201525f60208301516139ce604084018267ffffffffffffffff169052565b5060408301516060830152606083015161012060808401526139f461014084018261396d565b9050608084015160a084015260a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c0850152613a39828261396d565b91505060c084015160e084015260e08401516101008401526101008401516101208401528091505092915050565b5f60208284031215613a77575f80fd5b813567ffffffffffffffff811115613a8d575f80fd5b6119cc848285016138b6565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081525f613af76040830185613a99565b8281036020840152613b098185613a99565b95945050505050565b5f805f60608486031215613b24575f80fd5b833567ffffffffffffffff811115613b3a575f80fd5b613b46868287016138b6565b935050602084013567ffffffffffffffff811115613b62575f80fd5b613b6e868287016138b6565b925050604084013567ffffffffffffffff811115613b8a575f80fd5b613b96868287016138b6565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610e5557610e55613bcd565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613c3d57613c3d613bcd565b5060010190565b608081525f613c566080830187613a99565b8281036020840152613c688187613a99565b90508281036040840152613c7c8186613a99565b90508281036060840152611efb8185613a99565b80518015158114613c9f575f80fd5b919050565b5f60208284031215613cb4575f80fd5b610e5282613c90565b80820180821115610e5557610e55613bcd565b606081525f613ce26060830185613a99565b83602084015282810360408401525f8152602081019150509392505050565b5f60208284031215613d11575f80fd5b5051919050565b5f82601f830112613d27575f80fd5b8151613d356138d382613871565b818152846020838601011115613d49575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215613d75575f80fd5b815167ffffffffffffffff811115613d8b575f80fd5b820160a08185031215613d9c575f80fd5b613da46137f9565b613dad82613c90565b8152602082015167ffffffffffffffff81168114613dc9575f80fd5b60208201526040820151600781900b8114613de2575f80fd5b604082015260608281015190820152608082015167ffffffffffffffff811115613e0a575f80fd5b613e1686828501613d18565b608083015250949350505050565b6001815b6001841115613e5f57808504811115613e4357613e43613bcd565b6001841615613e5157908102905b60019390931c928002613e28565b935093915050565b5f82613e7557506001610e55565b81613e8157505f610e55565b8160018114613e975760028114613ea157613ebd565b6001915050610e55565b60ff841115613eb257613eb2613bcd565b50506001821b610e55565b5060208310610133831016604e8410600b8410161715613ee0575081810a610e55565b613f0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e24565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613f3d57613f3d613bcd565b029392505050565b5f610e528383613e67565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82613f8b57613f8b613f50565b500690565b5f82613f9e57613f9e613f50565b500490565b8082028115828204841417610e5557610e55613bcd565b5f81518060208401855e5f93019283525090919050565b5f613fdc8287613fba565b7fff000000000000000000000000000000000000000000000000000000000000008616815261400e6001820186613fba565b7fffffffffffffffff00000000000000000000000000000000000000000000000094909416845250506008909101949350505050565b67ffffffffffffffff8281168282160390811115610e5557610e55613bcd56fea164736f6c634300081a000a00000000000000000000000050521128e3eb8708f05129d7b7283737d55a1936000000000000000000000000a8320712ff181d74e719ff7e6e1012bbe4687b26", + "nonce": "0x10", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa77dc6", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf16d08cbac718e78a828ba89fa263e9316e7716810707e9abb004e6ad96caab8", + "transactionIndex": "0x8e", + "blockHash": "0xac991c70eb59c22c18f633750a7a91bc16fd1356ee8baec7dbd80363f07afb87", + "blockNumber": "0xb2ef74", + "gasUsed": "0x1a5546", + "effectiveGasPrice": "0x3f82dbf2", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0xa8320712ff181d74e719ff7e6e1012bbe4687b26" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xfc47f5", + "logs": [ + { + "address": "0x50521128e3eb8708f05129d7b7283737d55a1936", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" + ], + "data": "0x", + "blockHash": "0xac991c70eb59c22c18f633750a7a91bc16fd1356ee8baec7dbd80363f07afb87", + "blockNumber": "0xb2ef74", + "blockTimestamp": "0x6aac6cf4", + "transactionHash": "0x52b1bf4bafb918310b538962a8a5de09cb0326579ad85b91f50932412994e918", + "transactionIndex": "0x90", + "logIndex": "0x91", + "removed": false + }, + { + "address": "0x50521128e3eb8708f05129d7b7283737d55a1936", + "topics": [ + "0x99f8e0b3045f0b2f05192da79e25a5564759735adfee8dd3a642ba1093a7c936", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3" + ], + "data": "0x", + "blockHash": "0xac991c70eb59c22c18f633750a7a91bc16fd1356ee8baec7dbd80363f07afb87", + "blockNumber": "0xb2ef74", + "blockTimestamp": "0x6aac6cf4", + "transactionHash": "0x52b1bf4bafb918310b538962a8a5de09cb0326579ad85b91f50932412994e918", + "transactionIndex": "0x90", + "logIndex": "0x92", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800010000000000000000001000000000400000000000000002000000000000000000000000000000000000000000000000000000000000400000000000000000000800000000000800000000000000000000000000000000000000000000002000000000000000001000020000000020000000000000000000000000000000000200000000000000000040000000000000", + "type": "0x2", + "transactionHash": "0x52b1bf4bafb918310b538962a8a5de09cb0326579ad85b91f50932412994e918", + "transactionIndex": "0x90", + "blockHash": "0xac991c70eb59c22c18f633750a7a91bc16fd1356ee8baec7dbd80363f07afb87", + "blockNumber": "0xb2ef74", + "gasUsed": "0x51be63", + "effectiveGasPrice": "0x3f82dbf2", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0x50521128e3eb8708f05129d7b7283737d55a1936" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc1669e", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaa45f20667ff89aa882c0a7e4af9945db94ebc151dba8878894d84b566814fb6", + "transactionIndex": "0x74", + "blockHash": "0x47dca3a042b26198c8da515ef54d1707e9c77f2c3a3c8df0e2bd98a801d9911e", + "blockNumber": "0xb2ef75", + "gasUsed": "0x371fd0", + "effectiveGasPrice": "0x3c38dabb", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0x16970101ea32243cc80a2e0c91427e8bda70f689" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1789684993259, + "chain": 11155111, + "commit": "2a9b48c" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployTEEProverRegistryImpl.s.sol/11155111/run-1789685052742.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployTEEProverRegistryImpl.s.sol/11155111/run-1789685052742.json new file mode 100644 index 000000000..efdc4f50a --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/DeployTEEProverRegistryImpl.s.sol/11155111/run-1789685052742.json @@ -0,0 +1,128 @@ +{ + "transactions": [ + { + "hash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionType": "CREATE", + "contractName": "TEEProverRegistry", + "contractAddress": "0xf07584cdade9b2a739c682d88987881335c5f12f", + "function": null, + "arguments": [ + "0x16970101Ea32243cC80a2e0C91427e8bDA70F689", + "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "gas": "0x2af6ca", + "value": "0x0", + "input": "0x60c06040523480156200001157600080fd5b5060405162002c2f38038062002c2f8339810160408190526200003491620006c9565b6001600160a01b0382166200005c576040516328b2097760e21b815260040160405180910390fd5b6001600160a01b0381166200008457604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000b89161dead918291620000c0565b505062000746565b600054610100900460ff1615808015620000e15750600054600160ff909116105b80620001115750620000fe306200033960201b62000fef1760201c565b15801562000111575060005460ff166001145b6200017a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200019e576000805461ff0019166101001790555b620001a862000348565b620001b385620003b0565b620001be8462000436565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002ea5760006001600160a01b031684828151811062000200576200020062000708565b60200260200101516001600160a01b031614620002d55760016068600086848151811062000232576200023262000708565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555083818151811062000286576200028662000708565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002cc911515815260200190565b60405180910390a25b80620002e1816200071e565b915050620001d6565b50801562000332576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff16620003a45760405162461bcd60e51b815260206004820152602b602482015260008051602062002c0f83398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000171565b620003ae620004bb565b565b620003ba6200052d565b6001600160a01b038116620004285760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000171565b620004338162000588565b50565b62000440620005da565b6001600160a01b038116620004b05760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000171565b620004338162000661565b600054610100900460ff16620005175760405162461bcd60e51b815260206004820152602b602482015260008051602062002c0f83398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000171565b620005223362000588565b620003ae3362000661565b6033546001600160a01b03163314620003ae5760405162461bcd60e51b8152602060048201526027602482015260008051602062002bef833981519152604482015266329037bbb732b960c91b606482015260840162000171565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005fe57506034546001600160a01b031633145b620003ae5760405162461bcd60e51b8152602060048201526036602482015260008051602062002bef83398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000171565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200043357600080fd5b60008060408385031215620006dd57600080fd5b8251620006ea81620006b3565b6020840151909250620006fd81620006b3565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200073f57634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a0516124756200077a6000396000818161027101526114360152600081816102f3015261097201526124756000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806394a277d1116100d8578063d25600561161008c578063e8533e2911610066578063e8533e29146103a6578063e9ed9b64146103c9578063f2fde38b146103dc57600080fd5b8063d25600561461034d578063d5f5058214610380578063e4edf8521461039357600080fd5b806396ce7e96116100bd57806396ce7e96146102ee578063b39dc09d14610315578063bbdc02db1461032857600080fd5b806394a277d1146102d157806394b2822f146102d957600080fd5b806354fd4d501161013a57806382ff53a11161011457806382ff53a11461026c57806386b4ebd3146102935780638da5cb5b146102b357600080fd5b806354fd4d50146102125780636666efdb14610251578063715018a61461026457600080fd5b80630dcaeaf21161016b5780630dcaeaf2146101a45780632712e20d146101c0578063481c6a75146101d357600080fd5b8063089208d8146101875780630ba24fe014610191575b600080fd5b61018f6103ef565b005b61018f61019f366004611bfe565b610403565b6101ad610e1081565b6040519081526020015b60405180910390f35b61018f6101ce366004611d00565b6104b1565b60345473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b7565b604080518082018252600581527f302e362e31000000000000000000000000000000000000000000000000000000602082015290516101b79190611e51565b61018f61025f366004611e64565b6107d8565b61018f6108c8565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b6101ad6102a1366004611bfe565b60676020526000908152604090205481565b60335473ffffffffffffffffffffffffffffffffffffffff166101ed565b6101ad6108da565b6102e16108e9565b6040516101b79190611e7f565b6101ed7f000000000000000000000000000000000000000000000000000000000000000081565b61018f610323366004611f22565b6108f5565b6065546103389063ffffffff1681565b60405163ffffffff90911681526020016101b7565b61037061035b366004611bfe565b60666020526000908152604090205460ff1681565b60405190151581526020016101b7565b61037061038e366004611bfe565b610d8c565b61018f6103a1366004611bfe565b610df2565b6103706103b4366004611bfe565b60686020526000908152604090205460ff1681565b61018f6103d7366004611fbc565b610ea9565b61018f6103ea366004611bfe565b610f3b565b6103f761100b565b61040160006110d4565b565b61040b61100b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260666020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055606790915281205561046c60698261114b565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff16158080156104d15750600054600160ff909116105b806104eb5750303b1580156104eb575060005460ff166001145b61057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156105da57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6105e26112b3565b6105eb85610f3b565b6105f484610df2565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff841617905560005b835181101561076d57600073ffffffffffffffffffffffffffffffffffffffff1684828151811061065a5761065a611ffa565b602002602001015173ffffffffffffffffffffffffffffffffffffffff161461075b5760016068600086848151811061069557610695611ffa565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555083818151811061070057610700611ffa565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051610752911515815260200190565b60405180910390a25b8061076581612058565b915050610627565b5080156107d157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6107e0611352565b6065805463ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000083161790925516600061081e6113f9565b90508061088a576065805463ffffffff84167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909116179055604080517f27a10cc200000000000000000000000000000000000000000000000000000000815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6108d0611352565b61040160006115df565b60006108e46113f9565b905090565b60606108e46069611656565b6108fd61100b565b600086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040517fba8055ee0000000000000000000000000000000000000000000000000000000081529495509373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063ba8055ee92506109b2915085908a908a908a908a906004016120d9565b6000604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a17919081019061219e565b905060006103e8826020015167ffffffffffffffff16610a379190612280565b905042610a46610e10836122bb565b11610a7d576040517f696bbf1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428110610ab6576040517fb139189500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060820151511580610aea5750610aea8260600151600081518110610add57610add611ffa565b602002602001015161172b565b15610b21576040517f85269c3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b488260600151600081518110610b3b57610b3b611ffa565b602002602001015161174a565b603014610b81576040517fa24fb87f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bb48360600151600081518110610b9d57610b9d611ffa565b60200260200101518561178b90919063ffffffff16565b90507f367f1a6e9c31dbb44b449dee0b7384b90775b0bf6bc17b1466423be1ed642d6d8101610c0f576040517fa24fb87f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c288460c00151866117b290919063ffffffff16565b905080516041141580610c95575080600081518110610c4957610c49611ffa565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f040000000000000000000000000000000000000000000000000000000000000014155b15610ccc576040517fa2d0fee800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60406021820181902073ffffffffffffffffffffffffffffffffffffffff811660009081526066602090815283822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055606790529190912083905580610d3b6069826117d9565b5060405173ffffffffffffffffffffffffffffffffffffffff8216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a250505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526066602052604081205460ff168015610dec5750610dc46113f9565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260676020526040902054145b92915050565b610dfa61100b565b73ffffffffffffffffffffffffffffffffffffffff8116610e9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201527f6865207a65726f206164647265737300000000000000000000000000000000006064820152608401610573565b610ea6816110d4565b50565b610eb1611352565b73ffffffffffffffffffffffffffffffffffffffff821660008181526068602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610f43611352565b73ffffffffffffffffffffffffffffffffffffffff8116610fe6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201527f207a65726f2061646472657373000000000000000000000000000000000000006064820152608401610573565b610ea6816115df565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff16331480611048575060345473ffffffffffffffffffffffffffffffffffffffff1633145b610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f7420746860448201527f65206f776e6572206f7220746865206d616e61676572000000000000000000006064820152608401610573565b6034805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab9260045260008281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016111ab5763f5a267f16000526004601cfd5b826111bd5768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff8116806112405760019350848260601c036111fb576001830180548455600284018054909155600090556112aa565b84600184015460601c0361121d576002830180546001850155600090556112aa565b84600284015460601c0361123757600060028401556112aa565b600093506112aa565b8260205284600052604060002080548061125b5750506112aa565b60018360011c03925082600182031461128d578285015460601c8060601b600183038701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff1661134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610573565b610401611961565b60335473ffffffffffffffffffffffffffffffffffffffff163314610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f7420746860448201527f65206f776e6572000000000000000000000000000000000000000000000000006064820152608401610573565b6065546040517f1b685b9e00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260009081907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690631b685b9e90602401602060405180830381865afa158015611492573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b691906122d3565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0183fd44000000000000000000000000000000000000000000000000000000001790529051919250600091829173ffffffffffffffffffffffffffffffffffffffff85169161153891906122f0565b600060405180830381855afa9150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915081158061158c57508051602014155b156115c3576040517f9fb4826900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906115d7919061230c565b935050505090565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c92508383141583028152816116e55782156116e057600191508185015460601c925082156116e0578284141590920260208301525060028381015460601c9182156116e0576003915083831415830260408201525b611715565b600191821c915b82811015611713578581015460601c858114158102600583901b84015293506001016116ec565b505b8186528160051b81016040525050505050919050565b60008160f660ff8216148061174357508060ff1660f7145b9392505050565b600081604060ff8216148061176257508060ff166060145b15611782576117718360a01c90565b67ffffffffffffffff169392505050565b50600092915050565b6000611743605083901c69ffffffffffffffffffff166117aa8461174a565b859190611a0a565b6060611743605083901c69ffffffffffffffffffff166117d18461174a565b859190611a8b565b63978aab9260045260008281526024812073ffffffffffffffffffffffffffffffffffffffff92909216917fffffffffffffffffffffffffffffffffffffffffffffff04498025ad2b40474183016118395763f5a267f16000526004601cfd5b8261184b5768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff81168260205280611913578160601c8061187e578560601b845560019450506112aa565b85810361188b57506112aa565b600184015460601c806118ac578660601b60018601556001955050506112aa565b8681036118ba5750506112aa565b600285015460601c806118dc578760601b6002870155600196505050506112aa565b8781036118eb575050506112aa565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461195757600191821c808301825591945081611943578560601b6003178455506112aa565b8560601b82850155826002018455506112aa565b5050505092915050565b600054610100900460ff166119f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610573565b611a01336115df565b610401336110d4565b8251600090611a1983856122bb565b1115611a81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610573565b5091016020012090565b8251606090611a9a83856122bb565b1115611b02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e646578206f7574206f6620626f756e6473000000000000000000000000006044820152606401610573565b8167ffffffffffffffff811115611b1b57611b1b611c1b565b6040519080825280601f01601f191660200182016040528015611b45576020820181803683370190505b50905060208082019085850101611b5d828286611b66565b50509392505050565b60208110611b9e5781518352611b7d6020846122bb565b9250611b8a6020836122bb565b9150611b97602082612325565b9050611b66565b8015611bd75760006001611bb3836020612325565b611bbf9061010061245c565b611bc99190612325565b835185518216911916178452505b505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610ea657600080fd5b600060208284031215611c1057600080fd5b813561174381611bdc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715611c6e57611c6e611c1b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611cbb57611cbb611c1b565b604052919050565b600067ffffffffffffffff821115611cdd57611cdd611c1b565b5060051b60200190565b803563ffffffff81168114611cfb57600080fd5b919050565b60008060008060808587031215611d1657600080fd5b8435611d2181611bdc565b9350602085810135611d3281611bdc565b9350604086013567ffffffffffffffff811115611d4e57600080fd5b8601601f81018813611d5f57600080fd5b8035611d72611d6d82611cc3565b611c74565b81815260059190911b8201830190838101908a831115611d9157600080fd5b928401925b82841015611db8578335611da981611bdc565b82529284019290840190611d96565b8096505050505050611dcc60608601611ce7565b905092959194509250565b60005b83811015611df2578181015183820152602001611dda565b83811115611e01576000848401525b50505050565b60008151808452611e1f816020860160208601611dd7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117436020830184611e07565b600060208284031215611e7657600080fd5b61174382611ce7565b6020808252825182820181905260009190848201906040850190845b81811015611ecd57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611e9b565b50909695505050505050565b60008083601f840112611eeb57600080fd5b50813567ffffffffffffffff811115611f0357600080fd5b602083019150836020828501011115611f1b57600080fd5b9250929050565b60008060008060008060608789031215611f3b57600080fd5b863567ffffffffffffffff80821115611f5357600080fd5b611f5f8a838b01611ed9565b90985096506020890135915080821115611f7857600080fd5b611f848a838b01611ed9565b90965094506040890135915080821115611f9d57600080fd5b50611faa89828a01611ed9565b979a9699509497509295939492505050565b60008060408385031215611fcf57600080fd5b8235611fda81611bdc565b915060208301358015158114611fef57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361208957612089612029565b5060010190565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006120ec6060830188611e07565b82810360208401526120ff818789612090565b90508281036040840152612114818587612090565b98975050505050505050565b805167ffffffffffffffff81168114611cfb57600080fd5b600082601f83011261214957600080fd5b81516020612159611d6d83611cc3565b82815260059290921b8401810191818101908684111561217857600080fd5b8286015b84811015612193578051835291830191830161217c565b509695505050505050565b6000602082840312156121b057600080fd5b815167ffffffffffffffff808211156121c857600080fd5b9083019061012082860312156121dd57600080fd5b6121e5611c4a565b825181526121f560208401612120565b60208201526040830151604082015260608301518281111561221657600080fd5b61222287828601612138565b6060830152506080830151608082015260a08301518281111561224457600080fd5b61225087828601612138565b60a08301525060c0838101519082015260e080840151908201526101009283015192810192909252509392505050565b6000826122b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082198211156122ce576122ce612029565b500190565b6000602082840312156122e557600080fd5b815161174381611bdc565b60008251612302818460208701611dd7565b9190910192915050565b60006020828403121561231e57600080fd5b5051919050565b60008282101561233757612337612029565b500390565b600181815b8085111561239557817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561237b5761237b612029565b8085161561238857918102915b93841c9390800290612341565b509250929050565b6000826123ac57506001610dec565b816123b957506000610dec565b81600181146123cf57600281146123d9576123f5565b6001915050610dec565b60ff8411156123ea576123ea612029565b50506001821b610dec565b5060208310610133831016604e8410600b8410161715612418575081810a610dec565b612422838361233c565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561245457612454612029565b029392505050565b6000611743838361239d56fea164736f6c634300080f000a4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206900000000000000000000000016970101ea32243cc80a2e0c91427e8bda70f689000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "nonce": "0x11", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf2c750", + "logs": [ + { + "address": "0xf07584cdade9b2a739c682d88987881335c5f12f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000821ff2a3fb66b008fa668b40eca9d3535b246575" + ], + "data": "0x", + "blockHash": "0xcca72b0a46df65ac01d9bd26bb4dc5e0e529b0a2c63921c940820153ed1a8341", + "blockNumber": "0xb2ef7a", + "blockTimestamp": "0x6aac6d3c", + "transactionHash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionIndex": "0x66", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0xf07584cdade9b2a739c682d88987881335c5f12f", + "topics": [ + "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000821ff2a3fb66b008fa668b40eca9d3535b246575" + ], + "data": "0x", + "blockHash": "0xcca72b0a46df65ac01d9bd26bb4dc5e0e529b0a2c63921c940820153ed1a8341", + "blockNumber": "0xb2ef7a", + "blockTimestamp": "0x6aac6d3c", + "transactionHash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionIndex": "0x66", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0xf07584cdade9b2a739c682d88987881335c5f12f", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x000000000000000000000000821ff2a3fb66b008fa668b40eca9d3535b246575", + "0x000000000000000000000000000000000000000000000000000000000000dead" + ], + "data": "0x", + "blockHash": "0xcca72b0a46df65ac01d9bd26bb4dc5e0e529b0a2c63921c940820153ed1a8341", + "blockNumber": "0xb2ef7a", + "blockTimestamp": "0x6aac6d3c", + "transactionHash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionIndex": "0x66", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0xf07584cdade9b2a739c682d88987881335c5f12f", + "topics": [ + "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", + "0x000000000000000000000000821ff2a3fb66b008fa668b40eca9d3535b246575", + "0x000000000000000000000000000000000000000000000000000000000000dead" + ], + "data": "0x", + "blockHash": "0xcca72b0a46df65ac01d9bd26bb4dc5e0e529b0a2c63921c940820153ed1a8341", + "blockNumber": "0xb2ef7a", + "blockTimestamp": "0x6aac6d3c", + "transactionHash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionIndex": "0x66", + "logIndex": "0x8d", + "removed": false + }, + { + "address": "0xf07584cdade9b2a739c682d88987881335c5f12f", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xcca72b0a46df65ac01d9bd26bb4dc5e0e529b0a2c63921c940820153ed1a8341", + "blockNumber": "0xb2ef7a", + "blockTimestamp": "0x6aac6d3c", + "transactionHash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionIndex": "0x66", + "logIndex": "0x8e", + "removed": false + } + ], + "logsBloom": "0x00000000000010000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000200000000000000000000000000000000000001000000000000000000000000000000000000020000000040000800000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000004400000000000000000080040000000000000000000000000000000020000020000000000000000000000000000000000000000000000000000400000000", + "type": "0x2", + "transactionHash": "0x53828e36c427cd9bca8778feb01ad5fed07f721097e32937c3bc783643e75f14", + "transactionIndex": "0x66", + "blockHash": "0xcca72b0a46df65ac01d9bd26bb4dc5e0e529b0a2c63921c940820153ed1a8341", + "blockNumber": "0xb2ef7a", + "gasUsed": "0x210c9c", + "effectiveGasPrice": "0x3d41cdf1", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": null, + "contractAddress": "0xf07584cdade9b2a739c682d88987881335c5f12f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1789685052742, + "chain": 11155111, + "commit": "2a9b48c" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790016841915.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790016841915.json new file mode 100644 index 000000000..0c98b1e4a --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790016841915.json @@ -0,0 +1,89 @@ +{ + "transactions": [ + { + "hash": "0x29a6baaba8b361d6539721eb3c94df35b7c27d202d6a649b33cb0db3cac512ab", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "0", + "0xd4d9bdcd5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b92", + "0", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0xda7c1b80e7fbcbccb07411cf839f15c2fcba3cf6448523bd764454e0a956e8ea17b21e8b75e383f37adfed19032ac75a5efa8f92c1349c135362c05e42ad3a101c" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "gas": "0x1e300", + "value": "0x0", + "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b92000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041da7c1b80e7fbcbccb07411cf839f15c2fcba3cf6448523bd764454e0a956e8ea17b21e8b75e383f37adfed19032ac75a5efa8f92c1349c135362c05e42ad3a101c00000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xad1b37", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0x5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b92", + "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" + ], + "data": "0x", + "blockHash": "0x06b81a6df9b17d4d09497e05dec9b8bf6fb5106d196149c0db195ebd310fc37c", + "blockNumber": "0xb35546", + "blockTimestamp": "0x6ab17d48", + "transactionHash": "0x29a6baaba8b361d6539721eb3c94df35b7c27d202d6a649b33cb0db3cac512ab", + "transactionIndex": "0x8c", + "logIndex": "0xf1", + "removed": false + }, + { + "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0x41e4a3b3bfbe97098e30bcb99f1cbf107a5864b422b5e252165a4c0b895ba3d40000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x06b81a6df9b17d4d09497e05dec9b8bf6fb5106d196149c0db195ebd310fc37c", + "blockNumber": "0xb35546", + "blockTimestamp": "0x6ab17d48", + "transactionHash": "0x29a6baaba8b361d6539721eb3c94df35b7c27d202d6a649b33cb0db3cac512ab", + "transactionIndex": "0x8c", + "logIndex": "0xf2", + "removed": false + } + ], + "logsBloom": "0x00000000400000040000000000000000000000000000000000400000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000002000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000014020000000000000000000000100000000008000000", + "type": "0x2", + "transactionHash": "0x29a6baaba8b361d6539721eb3c94df35b7c27d202d6a649b33cb0db3cac512ab", + "transactionIndex": "0x8c", + "blockHash": "0x06b81a6df9b17d4d09497e05dec9b8bf6fb5106d196149c0db195ebd310fc37c", + "blockNumber": "0xb35546", + "gasUsed": "0x14a42", + "effectiveGasPrice": "0x43e4665a", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1790016841915, + "chain": 11155111, + "commit": "3b2c2db" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790017370253.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790017370253.json new file mode 100644 index 000000000..8a4ba3a63 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790017370253.json @@ -0,0 +1,89 @@ +{ + "transactions": [ + { + "hash": "0x27957da6582f738f37057d158edd30075142e83135f9ebd90a390f2b44699bce", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0x0fe884546476dDd290eC46318785046ef68a0BA9", + "0", + "0xd4d9bdcd5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b92", + "0", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0xaf85aeba355b3b23fab413f6ae8aeff86ae6b29098faf13e9eec6f4d4832b5a26f0fecfda2318b7f23c82653fc33cd1fc20441f1b3aa47d064c176edc887b82f1b526fcdb590c3f0229795c737b4629fd97ef57bab86985a362b43b6dc7dfd08f367c371c97fbfb4223e1cbfc5877d7788e1cf1eadca6e65a77238beba9ac54d231cb27c9304ca1d69340a01a7e1bd3ca0a4cfb070f36ea1365657c52bd49b5a617f1da3ba023439450415057e4d82aa33d235dda5a4514fcc2829ecc39b6e5fbbd11b" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "gas": "0x212fb", + "value": "0x0", + "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3af85aeba355b3b23fab413f6ae8aeff86ae6b29098faf13e9eec6f4d4832b5a26f0fecfda2318b7f23c82653fc33cd1fc20441f1b3aa47d064c176edc887b82f1b526fcdb590c3f0229795c737b4629fd97ef57bab86985a362b43b6dc7dfd08f367c371c97fbfb4223e1cbfc5877d7788e1cf1eadca6e65a77238beba9ac54d231cb27c9304ca1d69340a01a7e1bd3ca0a4cfb070f36ea1365657c52bd49b5a617f1da3ba023439450415057e4d82aa33d235dda5a4514fcc2829ecc39b6e5fbbd11b0000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x174eb64", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", + "0x5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b92", + "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" + ], + "data": "0x", + "blockHash": "0xf3865ac5317ee53139cc78b9cde50db6053911e8c9f2b5215d031fc55e8471cf", + "blockNumber": "0xb35571", + "blockTimestamp": "0x6ab17f58", + "transactionHash": "0x27957da6582f738f37057d158edd30075142e83135f9ebd90a390f2b44699bce", + "transactionIndex": "0xd7", + "logIndex": "0x244", + "removed": false + }, + { + "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0x32a3ae66e238b2b047b8c51b215cb7b543bc2346a8dd8d976a08dd1f3d20d6450000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf3865ac5317ee53139cc78b9cde50db6053911e8c9f2b5215d031fc55e8471cf", + "blockNumber": "0xb35571", + "blockTimestamp": "0x6ab17f58", + "transactionHash": "0x27957da6582f738f37057d158edd30075142e83135f9ebd90a390f2b44699bce", + "transactionIndex": "0xd7", + "logIndex": "0x245", + "removed": false + } + ], + "logsBloom": "0x00000000400000000000000000000000000000000000000000400000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000040000000000000000000000000200000000000000100000000000000000", + "type": "0x2", + "transactionHash": "0x27957da6582f738f37057d158edd30075142e83135f9ebd90a390f2b44699bce", + "transactionIndex": "0xd7", + "blockHash": "0xf3865ac5317ee53139cc78b9cde50db6053911e8c9f2b5215d031fc55e8471cf", + "blockNumber": "0xb35571", + "gasUsed": "0x1806d", + "effectiveGasPrice": "0x42b0d0d0", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1790017370253, + "chain": 11155111, + "commit": "3b2c2db" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790017465909.json b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790017465909.json new file mode 100644 index 000000000..90dec4c42 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/records/ExecuteCobaltUpgrade.s.sol/11155111/run-1790017465909.json @@ -0,0 +1,628 @@ +{ + "transactions": [ + { + "hash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", + "arguments": [ + "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", + "0", + "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000008c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c49623609d00000000000000000000000015b721b12cf3b0c4400c8a2935a0ae391c2ef65b0000000000000000000000001a4c38c954bf25e0aa6831baa0de1497280e09fd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022487f6a390000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000065135ee0000000000000000000000000000000000000000000000000000000006553a790000000000000000000000000000000000000000000000000000000006584d1800000000000000000000000000000000000000000000000000000000065d62c1000000000000000000000000000000000000000000000000000000000665751000000000000000000000000000000000000000000000000000000000066ba3180000000000000000000000000000000000000000000000000000000006745e2700000000000000000000000000000000000000000000000000000000067dc3b80000000000000000000000000000000000000000000000000000000006801258000000000000000000000000000000000000000000000000000000000691de9810000000000000000000000000000000000000000000000000000000069e669a0000000000000000000000000000000000000000000000000000000006a343220000000000000000000000000000000000000000000000000000000006ab413a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000a53f56711a2f65c19c1542c98116b98fc07a9bb1000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000aeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000009cacf701ef24b8339cd1fdecadde7c080373fb2900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000c1a5acb64e439a04017a526e3d8e5d3e79846448000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e000000000000000000000000f07584cdade9b2a739c682d88987881335c5f12f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "1", + "0", + "0", + "0", + "0x0000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000", + "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" + ], + "transaction": { + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "gas": "0x11184d", + "value": "0x0", + "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000000000ce4858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000008c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c49623609d00000000000000000000000015b721b12cf3b0c4400c8a2935a0ae391c2ef65b0000000000000000000000001a4c38c954bf25e0aa6831baa0de1497280e09fd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022487f6a390000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000065135ee0000000000000000000000000000000000000000000000000000000006553a790000000000000000000000000000000000000000000000000000000006584d1800000000000000000000000000000000000000000000000000000000065d62c1000000000000000000000000000000000000000000000000000000000665751000000000000000000000000000000000000000000000000000000000066ba3180000000000000000000000000000000000000000000000000000000006745e2700000000000000000000000000000000000000000000000000000000067dc3b80000000000000000000000000000000000000000000000000000000006801258000000000000000000000000000000000000000000000000000000000691de9810000000000000000000000000000000000000000000000000000000069e669a0000000000000000000000000000000000000000000000000000000006a343220000000000000000000000000000000000000000000000000000000006ab413a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000a53f56711a2f65c19c1542c98116b98fc07a9bb1000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000aeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000009cacf701ef24b8339cd1fdecadde7c080373fb2900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000c1a5acb64e439a04017a526e3d8e5d3e79846448000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e000000000000000000000000f07584cdade9b2a739c682d88987881335c5f12f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xffccae", + "logs": [ + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" + ], + "data": "0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000f400000000000000000000000000000000000000000000000000000000000000ce4858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000008c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c49623609d00000000000000000000000015b721b12cf3b0c4400c8a2935a0ae391c2ef65b0000000000000000000000001a4c38c954bf25e0aa6831baa0de1497280e09fd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022487f6a390000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000065135ee0000000000000000000000000000000000000000000000000000000006553a790000000000000000000000000000000000000000000000000000000006584d1800000000000000000000000000000000000000000000000000000000065d62c1000000000000000000000000000000000000000000000000000000000665751000000000000000000000000000000000000000000000000000000000066ba3180000000000000000000000000000000000000000000000000000000006745e2700000000000000000000000000000000000000000000000000000000067dc3b80000000000000000000000000000000000000000000000000000000006801258000000000000000000000000000000000000000000000000000000000691de9810000000000000000000000000000000000000000000000000000000069e669a0000000000000000000000000000000000000000000000000000000006a343220000000000000000000000000000000000000000000000000000000006ab413a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000a53f56711a2f65c19c1542c98116b98fc07a9bb1000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000aeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000009cacf701ef24b8339cd1fdecadde7c080373fb2900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000c1a5acb64e439a04017a526e3d8e5d3e79846448000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e000000000000000000000000f07584cdade9b2a739c682d88987881335c5f12f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000028000000000000000000000000821ff2a3fb66b008fa668b40eca9d3535b2465750000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x116", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000001a4c38c954bf25e0aa6831baa0de1497280e09fd" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x117", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x118", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000065135ee0", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x119", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x11a", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000006553a790", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x11b", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x11c", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "data": "0x000000000000000000000000000000000000000000000000000000006584d180", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x11d", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x11e", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000065d62c10", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x11f", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x120", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000066575100", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x121", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x122", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000066ba3180", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x123", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x124", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "data": "0x000000000000000000000000000000000000000000000000000000006745e270", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x125", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x126", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000067dc3b80", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x127", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x128", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000068012580", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x129", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x0000000000000000000000000000000000000000000000000000000000000009" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x12a", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x0000000000000000000000000000000000000000000000000000000000000009" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000691de981", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x12b", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x12c", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000069e669a0", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x12d", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x000000000000000000000000000000000000000000000000000000000000000b" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x12e", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x000000000000000000000000000000000000000000000000000000000000000b" + ], + "data": "0x000000000000000000000000000000000000000000000000000000006a343220", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x12f", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xc8d4579ff78c4e70e6ae3acbb4858a04ea798b4e8efff9ff7a8c8775d7b2c858", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x130", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x48496c9e95bc0f6dd82bee879408724c3b1a356b8a6d9c3fbffe270b24720791", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "data": "0x000000000000000000000000000000000000000000000000000000006ab413a0", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x131", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x3ce196af7f202b9a61978967a766a54245d6588745bc8f76226360f5a87085ea", + "0xe5aa8e509aca55728cbb1d0342ec7289830194b9bb54ac76130e27e26f1f92d4" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x132", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xafb29e5c7f4fc4818c2ffe01313f20873fbb8d3ecb8c231226be562b9a11e57f", + "0x0000000000000000000000000000000000000001000000040000000000000000" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x133", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0xb1c6dde58c72ae176c3481e130f3af63d9d7f9edc52f9c07ab80840f85f442ea", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x134", + "removed": false + }, + { + "address": "0x15b721b12cf3b0c4400c8a2935a0ae391c2ef65b", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x135", + "removed": false + }, + { + "address": "0x49f53e41452c74589e85ca1677426ba426459e85", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000a53f56711a2f65c19c1542c98116b98fc07a9bb1" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x136", + "removed": false + }, + { + "address": "0xf272670eb55e895584501d564afeb048bed26194", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000aeb75e200b9bcf9343ff1a2d2b1b3976e7339ca4" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x137", + "removed": false + }, + { + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000009cacf701ef24b8339cd1fdecadde7c080373fb29" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x138", + "removed": false + }, + { + "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", + "topics": [ + "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", + "0x000000000000000000000000c1a5acb64e439a04017a526e3d8e5d3e79846448", + "0x000000000000000000000000000000000000000000000000000000000000026d" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x139", + "removed": false + }, + { + "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000f07584cdade9b2a739c682d88987881335c5f12f" + ], + "data": "0x", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x13a", + "removed": false + }, + { + "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "topics": [ + "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" + ], + "data": "0x5fd72f772614d8a67a99709a78bb381f58c17bef108dc8c7860c4423bbca4b920000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "blockTimestamp": "0x6ab17fb8", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "logIndex": "0x13b", + "removed": false + } + ], + "logsBloom": "0x2400004040010080000000400000000040000200000000000000008104400000400000020010060040000020200000200000100007048100406000000024800000003100044080002020000404000200000004000004400000080000000000000a00080082010000000000000000280001000000002010000000000000001800009020044040080001000000000000100000180000008000000000000000000001000a000400100000000100000404000000000000800000802000880000400040800020000000008000000100060000002000808000001000000500000060200000000000000200000000000000000220000000008040040000000000800100", + "type": "0x2", + "transactionHash": "0xceaed96667d877b868646bebedb1e4423e8213d0757d982acf4f0e864e62c9cf", + "transactionIndex": "0x98", + "blockHash": "0x60c88edea56981654ab456fceeaf13a8200989aae83c9ad4214a53b2699a03b0", + "blockNumber": "0xb35579", + "gasUsed": "0xc605e", + "effectiveGasPrice": "0x43707af7", + "from": "0x821ff2a3fb66b008fa668b40eca9d3535b246575", + "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1790017465909, + "chain": 11155111, + "commit": "3b2c2db" +} \ No newline at end of file diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployCobaltProofImpls.s.sol b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployCobaltProofImpls.s.sol index 4bcbc0615..d398cb042 100644 --- a/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployCobaltProofImpls.s.sol +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployCobaltProofImpls.s.sol @@ -90,6 +90,14 @@ contract DeployCobaltProofImpls is Script { require(teeImageHash != bytes32(0), "AGGREGATE_VERIFIER_TEE_IMAGE_HASH not set"); require(zkRangeHash != bytes32(0), "AGGREGATE_VERIFIER_ZK_RANGE_HASH not set"); require(zkAggregateHash != bytes32(0), "AGGREGATE_VERIFIER_ZK_AGGREGATE_HASH not set"); + + // All three hashes rotate. A live value here is a paste error. + AggregateVerifier live = AggregateVerifier(liveAggregateVerifier); + require(teeImageHash != live.TEE_IMAGE_HASH(), "AGGREGATE_VERIFIER_TEE_IMAGE_HASH still the live value"); + require(zkRangeHash != live.ZK_RANGE_HASH(), "AGGREGATE_VERIFIER_ZK_RANGE_HASH still the live value"); + require( + zkAggregateHash != live.ZK_AGGREGATE_HASH(), "AGGREGATE_VERIFIER_ZK_AGGREGATE_HASH still the live value" + ); } function run() external { diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployNitroValidatorStack.s.sol b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployNitroValidatorStack.s.sol new file mode 100644 index 000000000..8436ce682 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployNitroValidatorStack.s.sol @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.26; + +import {Script, console} from "forge-std/Script.sol"; + +import {CertManager} from "nitro-validator/src/CertManager.sol"; +import {NitroValidator} from "nitro-validator/src/NitroValidator.sol"; +import {P384Verifier} from "nitro-validator/src/P384Verifier.sol"; + +/// @notice Deploys the hinted Nitro validator stack and records its addresses. +/// @dev Writes individual keys so this can share `addresses.json` with the Cobalt deploys. +contract DeployNitroValidatorStack is Script { + address internal immutable certManagerOwner; + address internal immutable certManagerRevoker; + string internal addressesJson; + + P384Verifier public p384Verifier; + CertManager public certManager; + NitroValidator public nitroValidator; + + constructor() { + certManagerOwner = vm.envAddress("CERT_MANAGER_OWNER"); + certManagerRevoker = vm.envAddress("CERT_MANAGER_REVOKER"); + addressesJson = vm.envString("ADDRESSES_JSON"); + } + + function setUp() public view { + require(certManagerOwner != address(0), "cert manager owner not set"); + require(certManagerRevoker != address(0), "cert manager revoker not set"); + } + + function run() external { + vm.startBroadcast(); + + p384Verifier = new P384Verifier(); + certManager = new CertManager({ + p384Verifier_: p384Verifier, initialOwner: certManagerOwner, initialRevoker: certManagerRevoker + }); + nitroValidator = new NitroValidator({_certManager: certManager, _p384Verifier: p384Verifier}); + + vm.stopBroadcast(); + + _postCheck(); + _writeAddresses(); + } + + function _postCheck() internal view { + require(address(p384Verifier).code.length != 0, "p384 verifier not deployed"); + require(address(certManager).code.length != 0, "cert manager not deployed"); + require(address(nitroValidator).code.length != 0, "nitro validator not deployed"); + require(address(certManager.p384Verifier()) == address(p384Verifier), "cert manager p384 mismatch"); + require(certManager.owner() == certManagerOwner, "cert manager owner mismatch"); + require(certManager.revoker() == certManagerRevoker, "cert manager revoker mismatch"); + require(certManager.verified(certManager.ROOT_CA_CERT_HASH()).length != 0, "root certificate not cached"); + require(address(nitroValidator.certManager()) == address(certManager), "validator cert manager mismatch"); + require(address(nitroValidator.p384Verifier()) == address(p384Verifier), "validator p384 mismatch"); + } + + function _writeAddresses() internal { + console.log("P384Verifier:", address(p384Verifier)); + console.log("CertManager:", address(certManager)); + console.log("NitroValidator:", address(nitroValidator)); + + vm.writeJson(vm.toString(address(p384Verifier)), addressesJson, ".p384Verifier"); + vm.writeJson(vm.toString(address(certManager)), addressesJson, ".certManager"); + vm.writeJson(vm.toString(address(nitroValidator)), addressesJson, ".nitroValidator"); + } +} diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployTEEProverRegistryImpl.s.sol b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployTEEProverRegistryImpl.s.sol new file mode 100644 index 000000000..49366cb07 --- /dev/null +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/DeployTEEProverRegistryImpl.s.sol @@ -0,0 +1,57 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import {Script, console} from "forge-std/Script.sol"; + +import {IDisputeGameFactory} from "interfaces/L1/proofs/IDisputeGameFactory.sol"; +import {INitroValidator} from "interfaces/L1/proofs/tee/INitroValidator.sol"; + +import {TEEProverRegistry} from "@base-contracts/src/L1/proofs/tee/TEEProverRegistry.sol"; + +/// @notice Deploys a TEEProverRegistry implementation pointing at a hinted Nitro validator. +contract DeployTEEProverRegistryImpl is Script { + address internal immutable disputeGameFactoryProxy; + address internal immutable nitroValidator; + string internal addressesJson; + + TEEProverRegistry public teeProverRegistryImpl; + + constructor() { + disputeGameFactoryProxy = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); + addressesJson = vm.envString("ADDRESSES_JSON"); + nitroValidator = vm.parseJsonAddress(vm.readFile(addressesJson), ".nitroValidator"); + } + + function setUp() public view { + require(disputeGameFactoryProxy.code.length != 0, "dispute game factory not deployed"); + require(nitroValidator.code.length != 0, "nitro validator not deployed"); + } + + function run() external { + vm.startBroadcast(); + + teeProverRegistryImpl = new TEEProverRegistry({ + nitroValidator: INitroValidator(nitroValidator), factory: IDisputeGameFactory(disputeGameFactoryProxy) + }); + + vm.stopBroadcast(); + + _postCheck(); + _writeAddress(); + } + + function _postCheck() internal view { + require(address(teeProverRegistryImpl).code.length != 0, "tee registry implementation not deployed"); + require(address(teeProverRegistryImpl.NITRO_VALIDATOR()) == nitroValidator, "tee registry nitro mismatch"); + require( + address(teeProverRegistryImpl.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxy, + "tee registry factory mismatch" + ); + require(keccak256(bytes(teeProverRegistryImpl.version())) == keccak256(bytes("0.6.1")), "version mismatch"); + } + + function _writeAddress() internal { + console.log("TEEProverRegistryImpl:", address(teeProverRegistryImpl)); + vm.writeJson(vm.toString(address(teeProverRegistryImpl)), addressesJson, ".teeProverRegistryImpl"); + } +} diff --git a/active/evm/tasks/2026-09-14-cobalt-upgrade/script/ExecuteCobaltUpgrade.s.sol b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/ExecuteCobaltUpgrade.s.sol index 8743385a8..5b452c8be 100644 --- a/active/evm/tasks/2026-09-14-cobalt-upgrade/script/ExecuteCobaltUpgrade.s.sol +++ b/active/evm/tasks/2026-09-14-cobalt-upgrade/script/ExecuteCobaltUpgrade.s.sol @@ -32,6 +32,7 @@ interface IDisputeGameFactory { interface IAggregateVerifier { function PROTOCOL_VERSIONS() external view returns (address); + function TEE_IMAGE_HASH() external view returns (bytes32); function version() external view returns (string memory); } @@ -45,11 +46,52 @@ interface IVersioned { function version() external view returns (string memory); } +interface ILegacyTEEProverRegistry { + function NITRO_VERIFIER() external view returns (address); + function DISPUTE_GAME_FACTORY() external view returns (address); + function version() external view returns (string memory); +} + +interface ITEEProverRegistry { + function NITRO_VALIDATOR() external view returns (address); + function DISPUTE_GAME_FACTORY() external view returns (address); + function version() external view returns (string memory); +} + +interface ITEEProverRegistryState { + function owner() external view returns (address); + function manager() external view returns (address); + function gameType() external view returns (uint32); + function isRegisteredSigner(address signer) external view returns (bool); + function signerImageHash(address signer) external view returns (bytes32); + function isValidProposer(address proposer) external view returns (bool); + function getRegisteredSigners() external view returns (address[] memory); + function getExpectedImageHash() external view returns (bytes32); +} + +interface ITEEVerifier { + function TEE_PROVER_REGISTRY() external view returns (address); +} + +interface INitroValidatorView { + function certManager() external view returns (address); + function p384Verifier() external view returns (address); +} + +interface ICertManagerView { + function p384Verifier() external view returns (address); + function owner() external view returns (address); + function revoker() external view returns (address); + function ROOT_CA_CERT_HASH() external view returns (bytes32); + function verified(bytes32 hash) external view returns (bytes memory); +} + /// @notice Executes the Cobalt L1 upgrade on a Base chain. /// @dev Bundles the three Cobalt contract changes into a single ProxyAdmin-owner transaction: /// dynamic upgrades (a new ProtocolVersions registry plus the AggregateVerifier that binds it), /// the EthLockbox removal (OptimismPortal2 and SystemConfig), and CREATE2 dispute game proxies -/// (DisputeGameFactory). +/// (DisputeGameFactory). Networks that still need the hinted Nitro TEE cutover also pass +/// `NEW_TEE_PROVER_REGISTRY_IMPL`, which adds a sixth ProxyAdmin.upgrade on the registry. contract ExecuteCobaltUpgrade is MultisigScript { /// @notice EIP-1967 implementation slot. bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; @@ -94,6 +136,22 @@ contract ExecuteCobaltUpgrade is MultisigScript { uint256 internal immutable gameCountBefore; bool internal immutable pausedBefore; + /// @dev Hinted Nitro TEE cutover. All zero when the network already ran the + /// August 2026 registry upgrade (Zeronet) and this transaction stays at 5 calls. + address internal immutable teeProverRegistryProxy; + address internal immutable teeVerifier; + address internal immutable proposer; + address internal immutable challenger; + address internal immutable certManagerOwner; + address internal immutable certManagerRevoker; + address internal immutable oldTeeProverRegistryImpl; + address internal immutable newTeeProverRegistryImpl; + address internal immutable oldNitroVerifier; + address internal immutable newP384Verifier; + address internal immutable newCertManager; + address internal immutable newNitroValidator; + bytes32 internal immutable registryStateDigest; + constructor() { ownerSafe = vm.envAddress("PROXY_ADMIN_OWNER"); proxyAdmin = vm.envAddress("L1_PROXY_ADMIN"); @@ -127,6 +185,20 @@ contract ExecuteCobaltUpgrade is MultisigScript { gasLimitBefore = ISystemConfig(systemConfig).gasLimit(); gameCountBefore = IDisputeGameFactory(disputeGameFactory).gameCount(); pausedBefore = ISystemConfig(systemConfig).paused(); + + newTeeProverRegistryImpl = vm.envOr("NEW_TEE_PROVER_REGISTRY_IMPL", address(0)); + teeProverRegistryProxy = vm.envOr("TEE_PROVER_REGISTRY_PROXY", address(0)); + teeVerifier = vm.envOr("TEE_VERIFIER", address(0)); + proposer = vm.envOr("PROPOSER", address(0)); + challenger = vm.envOr("CHALLENGER", address(0)); + certManagerOwner = vm.envOr("CERT_MANAGER_OWNER", address(0)); + certManagerRevoker = vm.envOr("CERT_MANAGER_REVOKER", address(0)); + oldTeeProverRegistryImpl = vm.envOr("OLD_TEE_PROVER_REGISTRY_IMPL", address(0)); + oldNitroVerifier = vm.envOr("OLD_NITRO_VERIFIER", address(0)); + newP384Verifier = vm.envOr("NEW_P384_VERIFIER", address(0)); + newCertManager = vm.envOr("NEW_CERT_MANAGER", address(0)); + newNitroValidator = vm.envOr("NEW_NITRO_VALIDATOR", address(0)); + registryStateDigest = _teeCutover() ? _registryStateDigest() : bytes32(0); } function setUp() public view { @@ -134,7 +206,7 @@ contract ExecuteCobaltUpgrade is MultisigScript { } function _buildCalls() internal view override returns (Call[] memory) { - Call[] memory calls = new Call[](5); + Call[] memory calls = new Call[](_teeCutover() ? 6 : 5); // Dynamic upgrades: point the new proxy at the registry implementation and seed the // activation schedule atomically. `initialize` is `reinitializer(1)` and the proxy has @@ -194,6 +266,15 @@ contract ExecuteCobaltUpgrade is MultisigScript { value: 0 }); + if (_teeCutover()) { + calls[5] = Call({ + operation: Enum.Operation.Call, + target: proxyAdmin, + data: abi.encodeCall(IProxyAdmin.upgrade, (payable(teeProverRegistryProxy), newTeeProverRegistryImpl)), + value: 0 + }); + } + return calls; } @@ -252,6 +333,10 @@ contract ExecuteCobaltUpgrade is MultisigScript { require(protocolVersionsMinimumProtocolVersion != 0, "minimum protocol version not set"); require(protocolVersionsMinimumProtocolVersion <= type(uint128).max, "minimum protocol version too large"); + + if (_teeCutover()) { + _preCheckTee(); + } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { @@ -313,6 +398,10 @@ contract ExecuteCobaltUpgrade is MultisigScript { keccak256(bytes(ISystemConfig(systemConfig).version())) == keccak256(bytes("3.14.0+max-gas-limit-2000M")), "system config lost the max gas limit patch" ); + + if (_teeCutover()) { + _postCheckTee(); + } } /// @dev Recomputes the registry hash chain so the commitment is derived from the schedule this @@ -340,4 +429,111 @@ contract ExecuteCobaltUpgrade is MultisigScript { function _ownerSafe() internal view override returns (address) { return ownerSafe; } + + function _teeCutover() internal view returns (bool) { + return newTeeProverRegistryImpl != address(0); + } + + function _preCheckTee() internal view { + require(teeProverRegistryProxy != address(0), "tee registry proxy not set"); + require(teeVerifier != address(0), "tee verifier not set"); + require(oldTeeProverRegistryImpl != address(0), "old tee registry impl not set"); + require(oldNitroVerifier != address(0), "old nitro verifier not set"); + require(newP384Verifier != address(0), "p384 verifier not set"); + require(newCertManager != address(0), "cert manager not set"); + require(newNitroValidator != address(0), "nitro validator not set"); + require(certManagerOwner != address(0), "cert manager owner not set"); + require(certManagerRevoker != address(0), "cert manager revoker not set"); + require(proposer != address(0), "proposer not set"); + require(challenger != address(0), "challenger not set"); + + require( + ITEEVerifier(teeVerifier).TEE_PROVER_REGISTRY() == teeProverRegistryProxy, "tee verifier registry mismatch" + ); + require( + _implementation(teeProverRegistryProxy) == oldTeeProverRegistryImpl, + "unexpected live tee registry implementation" + ); + + ILegacyTEEProverRegistry oldRegistry = ILegacyTEEProverRegistry(oldTeeProverRegistryImpl); + ITEEProverRegistry newRegistry = ITEEProverRegistry(newTeeProverRegistryImpl); + require(oldRegistry.DISPUTE_GAME_FACTORY() == disputeGameFactory, "old registry factory mismatch"); + require(newRegistry.DISPUTE_GAME_FACTORY() == disputeGameFactory, "new registry factory mismatch"); + require(oldRegistry.NITRO_VERIFIER() == oldNitroVerifier, "old registry nitro mismatch"); + require(newRegistry.NITRO_VALIDATOR() == newNitroValidator, "new registry nitro mismatch"); + require( + keccak256(bytes(oldRegistry.version())) == keccak256(bytes("0.5.0")), "old tee registry version mismatch" + ); + require( + keccak256(bytes(newRegistry.version())) == keccak256(bytes("0.6.1")), "new tee registry version mismatch" + ); + + // Call 5 replaces the verifier this registry reads TEE_IMAGE_HASH from. + require( + ITEEProverRegistryState(teeProverRegistryProxy).gameType() == AGGREGATE_VERIFIER_GAME_TYPE, + "tee registry watches a different game type" + ); + + _assertNitroStack(); + } + + function _postCheckTee() internal view { + require( + _implementation(teeProverRegistryProxy) == newTeeProverRegistryImpl, + "tee registry implementation not updated" + ); + require(_registryStateDigest() == registryStateDigest, "tee registry state changed"); + require( + ITEEVerifier(teeVerifier).TEE_PROVER_REGISTRY() == teeProverRegistryProxy, "tee verifier registry changed" + ); + + ITEEProverRegistry registry = ITEEProverRegistry(teeProverRegistryProxy); + require(registry.NITRO_VALIDATOR() == newNitroValidator, "proxy nitro validator mismatch"); + require( + keccak256(bytes(registry.version())) == keccak256(bytes("0.6.1")), "proxy tee registry version mismatch" + ); + + require( + ITEEProverRegistryState(teeProverRegistryProxy).getExpectedImageHash() + == IAggregateVerifier(newAggregateVerifier).TEE_IMAGE_HASH(), + "tee registry image hash not sourced from the new aggregate verifier" + ); + + _assertNitroStack(); + } + + function _assertNitroStack() internal view { + INitroValidatorView validator = INitroValidatorView(newNitroValidator); + ICertManagerView manager = ICertManagerView(validator.certManager()); + require(address(manager) == newCertManager, "cert manager mismatch"); + require(validator.p384Verifier() == newP384Verifier, "validator p384 mismatch"); + require(manager.p384Verifier() == newP384Verifier, "cert manager p384 mismatch"); + require(manager.owner() == certManagerOwner, "cert manager owner mismatch"); + require(manager.revoker() == certManagerRevoker, "cert manager revoker mismatch"); + require(manager.verified(manager.ROOT_CA_CERT_HASH()).length != 0, "root certificate not cached"); + } + + /// @dev Registry storage only. Omits `getExpectedImageHash` / `isValidSigner` because those + /// read the AggregateVerifier that call 5 replaces. + function _registryStateDigest() internal view returns (bytes32) { + ITEEProverRegistryState registry = ITEEProverRegistryState(teeProverRegistryProxy); + address[] memory signers = registry.getRegisteredSigners(); + bytes32[] memory imageHashes = new bytes32[](signers.length); + for (uint256 i = 0; i < signers.length; i++) { + require(registry.isRegisteredSigner(signers[i]), "enumerated signer not registered"); + imageHashes[i] = registry.signerImageHash(signers[i]); + } + + return keccak256( + abi.encode( + registry.owner(), + registry.manager(), + registry.gameType(), + registry.isValidProposer(proposer), + registry.isValidProposer(challenger), + signers, + imageHashes + ) + ); + } }